js 做为属性的变量

当声明一个javascript全局变量时,其实是定义了全局对象的一个属性。javascript

当使用var声明一个变量时,建立的这个属性是不可配置的,也就是说这个变量没法经过delete运算符来删除。可能你已经注意到,若是你没有使用严格模式并给一个未声明的变量赋值的话,javascript会自动建立一个全局变量。以这种方式建立的变量是全局对象的正常可本会属性,并能够删除它们:java

1 var a =1;
2    b =2;
3    this.b2 = 3;
4    delete a;    //不可删除
5    delete b;    //可删除
6    delete this.b2  //可删除

javascript全局变量是全局对象的属性,这是在ECMAScript 5规范称为“声明上下文对象。javascript能够容许用this关键字来引用全局对象,却没有方法能够引用局部变量中存放的对象。这种存放局部变量的对象的特有性质,是一种对咱们不可见的内部实现。然而,这些局部变量对象存在的观念是很是重要的。this

相关文章
相关标签/搜索