1.变量类型
JS中的一个变量,可以赋不同类型的数值给它。因为JS是一个缺少类型规则的语言,在必要的时候,它的数据可以自动转换类型。
2.变量的声明
任何一个变量在使用前都必须声明(declare);
也可以使用一个关键字var 生命多个变量:
声明变量的同时可以直接进行初始化赋值:
可以在for循环中直接声明变量:
var声明的变量是永久的,不能用delete删除。
重复声明变量仅仅相当于重复给一个变量赋值,如果使用未声明的变量,就会隐式赋值。
隐式赋值的变量会自动认为是全局变量。需要避免出现隐式声明的出现,任何使用到的变量都要进行var 声明。
3.变量的作用域
局部变量的效力强于全局变量,而且JS中函数任何地方定义的变量,全局都生效(在未显示声明之前使用局部变量,即使同时存在着同名的全局变量,实际效果也是使用了一个未定义的局部变量-即undefined)。
例如:
这样第一个alert打印出来不是"global" 而是 "undefined"
第二个alert打印出来的是"local"
JS中的一个变量,可以赋不同类型的数值给它。因为JS是一个缺少类型规则的语言,在必要的时候,它的数据可以自动转换类型。
2.变量的声明
任何一个变量在使用前都必须声明(declare);
var i;
var sum;
也可以使用一个关键字var 生命多个变量:
var i, sum;
声明变量的同时可以直接进行初始化赋值:
var i = 5;
可以在for循环中直接声明变量:
for(var i = 0 ;i<10;i++);
var声明的变量是永久的,不能用delete删除。
重复声明变量仅仅相当于重复给一个变量赋值,如果使用未声明的变量,就会隐式赋值。
隐式赋值的变量会自动认为是全局变量。需要避免出现隐式声明的出现,任何使用到的变量都要进行var 声明。
3.变量的作用域
局部变量的效力强于全局变量,而且JS中函数任何地方定义的变量,全局都生效(在未显示声明之前使用局部变量,即使同时存在着同名的全局变量,实际效果也是使用了一个未定义的局部变量-即undefined)。
例如:
var scope = "global";
function f()
{
alert(scope);
var scope = "local";
alert(scope);
}
f();
这样第一个alert打印出来不是"global" 而是 "undefined"
第二个alert打印出来的是"local"