1 有var声明的是局部变量,没var的,声明的全局变量
2 var的全局变量不能被删除,因为delete智能删除对象的可删除的属性,而通过var 定义的全局属性会被标明不可删除。需要说明的是,delete不成功并不会抛错,delete的返回值是true|false。
3 var定义的全局变量会被提升,而不用var定义的全局变量不会被提升。
4 在ECMAScript5标准中,有一种“严格模式”(Strict Mode)。在严格模式中,为未声明的标识符赋值将会抛引用错误,因此可以防止意外的全局变量属性的创造。目前一些浏览器的新版本已经支持。
2 var的全局变量不能被删除,因为delete智能删除对象的可删除的属性,而通过var 定义的全局属性会被标明不可删除。需要说明的是,delete不成功并不会抛错,delete的返回值是true|false。
3 var定义的全局变量会被提升,而不用var定义的全局变量不会被提升。
4 在ECMAScript5标准中,有一种“严格模式”(Strict Mode)。在严格模式中,为未声明的标识符赋值将会抛引用错误,因此可以防止意外的全局变量属性的创造。目前一些浏览器的新版本已经支持。
本文探讨了JavaScript中使用var关键字声明变量的行为特征,包括作用域、可删除性及提升等概念,并介绍了严格式模式如何避免意外创建全局变量。
1240

被折叠的 条评论
为什么被折叠?



