javascript是弱类型语言,它只有一种变量类型(var),为变量赋值时会自动判断类型并进行转换。
全局变量和局部变量如何声明?
全局变量声明:
第一种方式(函数外)
var a; //声明了a,但是没有给a赋值(undefined)
b; //没有声明b,报错
c = 1; //声明了c,并给c赋值1
第二种方式(函数内)
a = 1; //声明了a,给a赋值1
b; //没有声明b,报错
局部变量声明:
只有一种方式(函数内)
var a; //声明了a,但是没有给a赋值(undefined)
全局变量与局部变量的作用域?
众所周知,全局变量作用于全局区域,局部变量只作用于函数内部。但是这里需要注意的是如果函数内部声明的变量与全局变量重名,那么在函数内执行的时候将会把该变量当作局部变量,在函数体外仍作为全局变量。
例如:
var a = 1; function test(){ var a = 2; alert(a) //a=2 } alert("全局区域的()a:"+a); //a=1