Javascript全局变量和delete
2013-04-26 10:40
302 查看
首先看一段代码:
解释:
隐式全局变量和明确定义的全局变量间有些小的差异,就是通过
通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
这表明,在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过
在ES5严格模式下,未声明的变量(如在前面的代码片段中的两个反面教材)工作时会抛出一个错误。
// 定义三个全局变量 var global_var = 1; global_novar = 2; // 反面教材 (function () { global_fromfunc = 3; // 反面教材 }()); // 试图删除 delete global_var; // false delete global_novar; // true delete global_fromfunc; // true // 测试该删除 typeof global_var; // "number" typeof global_novar; // "undefined" typeof global_fromfunc; // "undefined"
解释:
隐式全局变量和明确定义的全局变量间有些小的差异,就是通过
delete操作符让变量未定义的能力。
通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
这表明,在技术上,隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。属性是可以通过
delete操作符删除的,而变量是不能的。
在ES5严格模式下,未声明的变量(如在前面的代码片段中的两个反面教材)工作时会抛出一个错误。
相关文章推荐
- javascript的全局变量寄存空间和delete、hasOwnProperty方法(等于php的unset和isset)
- javascript的全局变量寄存空间和delete、hasOwnProperty方法(等于php的unset和isset)
- JavaScript中声明全局变量三种方式的异同
- javascript: 全局变量与局部变量,var关键字
- javascript全局变量封装模块实现代码
- javascript 全局变量 局部变量 var 与不加var的区别
- Javascript的变量与delete操作符
- Javascript:谈谈JS的全局变量跟局部变量
- Firefox - 附加软件 - Firebug - DOM视图 - 借助Show User-defined Properties选项查看javascript全局变量
- javascript中局部变量和全局变量的区别详解
- JavaScript局部变量与全局变量1
- javascript的全局变量
- Javascript:谈谈JS的全局变量跟局部变量
- 深入理解javascript全局变量与局部变量的所带来的问题的影响
- Javascript全局变量var与不var的区别深入解析
- Javascript:谈谈JS的全局变量跟局部变量
- Javascript全局变量var与不var的区别深入解析
- javascript的全局变量和局部变量
- JavaScript 诡异的全局变量和局部变量
- Javascript全局变量var与不var的区别