全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它,在页面关闭后被删除;
如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
向未声明的 JavaScript 变量分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。
这条语句:
personName = "hello world";
将声明 window 的一个属性 personName,非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。
var var1 = 1;//不可配置全局属性
var2 = 2;//没有使配置用 var 声明,可配置全局属性
console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(delete var1);//false,删除失败
console.log(var1);
console.log(delete var2);//true,删除成功
console.log(var2);//var2 is not defined