Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。
// num1为全局变量,num2为window的一个属性
var num1 =1;
num2 =2;
// delete num1; 无法删除
// delete num2; 删除
function model(){
var num1 =1;// 本地变量
num2 =2; // window的属性
// 匿名函数
(function(){
var num =1;// 本地变量
num1 =2;// 继承作用域(闭包)
num3 =3;// window的属性
}())
}