在使用一个变量之前应该先声明:
var i;
var sum;
也可以将声明和赋值写在一起:
var message = "hello";
重复声明一个变量是合法而且无害的,但是如果试图读取一个没有声明的变量值,JavaScript会报错。在非严格的模式下,如果给一个未声明的变量赋值,JavaScript会给全局对象创建一个同名属性,好像声明了一个全局变量,这样做可能会带来很多bug.
一个变量的作用域是程序源代码中定义这个变量的区域。全局变量拥有全局作用域,函数内的变量,只有在函数体能才有定义。在函数体内,局部变量的优先级高于同名的全局变量。