全局变量和局部变量
全局变量:可以在任何地方(函数内部和函数外部)使用的变量,就叫“全局变量”;
一般来说,在函数外部定义的变量,是“全局变量”;
省略关键字var定义的变量,也是“全局变量”,一般情况下不要省略;
局部变量:只能在函数内部使用的变量,叫“局部变量”。
注意:在JS中,在函数外部定义的变量,可以在函数内部使用;但在函数内部定义的变量,只能在函数内部使用。
将函数定义作为数据,赋给其它变量
- 将函数定义,赋给一个基本数据类型的变量
function showInfo()
{
return “我是一个函数”;
document.write(“我是一个函数”);
}
var a = showInfo; //将函数定义(地址),赋给一个变量,变量a是复合数据类型
document.write(a() );
var b = showInfo(); //将函数的执行结果,赋给一个变量b,变量b是基本数据类型
注意的是:函数名showInfo后不能跟小括号;
如果showInfo后面跟了小括号,就是调用函数,将函数的执行结果,赋给a变量,而不是地址
- 将函数定义,赋给一个数组元素,那么,该数组元素就是一个函数了;
Var arr = [10,20,30];
arr[1] = showInfo(); //arr[1]的值是“我是一个函数”
arr[2] = showInfo; //arr[2]就变成了函数
document.write( arr[1] );
document.write( arr[2]() ); //既然arr[2]是一个函数,在调用时,一定要写小括号
3)将函数定义,赋给一个对象属性,那么,该对象的属性就是一个函数了;
var obj = {
name:“周更生”,
age:30,
show:showInfo //将函数定义,赋给了一对象属性
};
obj.show(); //方法和函数的定义是一样的,只是在不同的地方叫法不一样
document.write( obj.name );
基本数据类型和复合数据类型
基本数据类型:是将变量名称和变量的值,都存入“快速内存”“栈内存”;
将基本数据类型的变量,赋给其它变量,是将原来变量的值“复制”一份,放到了新变量中,因此,这两个变量没有任何关系,换句话说:修改其中一个变量的值,另一个变量的值不会改变;
var a = 10; //基本数据类型,在赋值是地,是传值
var b = a; //将a的值,复制一份,传给b
a = 100; //给变量a重新赋值
document.write(b); //求变量b的值,是否会改变
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/448.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除