JavaScript变量
变量,即通过一个名字将一个值关联起来,以后通过变量就可以引用到该值,比如:
1 var str = "Hello, World";
2 var num = 2.345;
当我们下一次要引用”Hello, Wrold”这个串进行某项操作时,我们只需要使用变量str即可,同样,我们可以用10*num 来表示10*2.345。变量的作用就是将值“存储”在这个变量上。
JavaScript中的数据类型,其中基本类型如数字,布尔值,它们在内存中都有固定的大小,我们通过变量来直接访问基本类型的数据。而对于引用类型,如对象,数组和函数,由于它们的大小在原则上是不受任何限制的,故我们通过对其引用的访问来访问它们本身,引用本身是一个地址,即指向真实存储复杂对象的位置。
基本类型和引用类型的区别是比较明显的,我们来看几个例子:
1 var x = 1;//数字x,基本类型
2 var y = x;//数字y,基本类型
3 print(x);
4 print(y);
5
6 x = 2;//修改x的值
7
8 print(x);//x的值变为2
9 print(y);//y的值不会变
这样的结果应该在你的意料之内,没有什么特别之处,我们再来看看引用类型的例子,由于数组的长度非固定,可以动态增删,因此数组为引用类型:
1 var array = [1,2,3,4,5];
2 var arrayRef = array;
3
4 array.push(6);
5 print(arrayRef);
变量的作用域
变量被定义的区域即为其作用域,全局变量具有全局作用域;局部变量,比如声明在函数内部的变量则具有局部作用域,在函数的外部是不能直接访问的。比如:
1 var variable = "out";
2
3 function func(){
4 var variable = "in";
5 print(variable);//打印”in”
6 }
7
8 func();
9 print(variable);//打印”out”
1 var variable = "out";
2
3 function func(){
4 variable = "in";//注意此variable前没有var关键字
5 print(variable);
6 }
7
8 func();
9 print(variable);//全局的变量variable被修改
浙公网安备 33010602011771号