我一直在浏览很多关于JavaScript严格模式的博客文章,文档等.
我注意到delete关键字有很多限制.我甚至不知道你是否可以称他们为限制.似乎delete不再有效.
我很想用严格的模式.这是一个好主意.但我也认为删除是一个好主意.
有没有其他方法可以"删除"变量,或者我只是搞砸了?
你没有delete变量。
delete用于从对象中删除属性。
delete foo.a将从"a"object 中删除属性foo。
为什么需要从作用域中删除局部变量?您只需将变量设置为undefined
(function(undefined) {
// undefined is undefined.
})();
(function() {
var undefined; // undefined is undefined
})();
Run Code Online (Sandbox Code Playgroud)
检查未定义的另一种方法是,foo === void 0因为void是一个运算符,它运行其后面的表达式并返回undefined。这是一个聪明的伎俩。
将变量设置为怎么样null?将变量设置为 后null,JavaScript 垃圾收集器将在下次运行时删除所有未引用的变量。
HTH。
编辑:正如 @chris Buckler 在评论中提到的,这不能在全局范围内完成,因为全局变量永远不会被垃圾收集。
| 归档时间: |
|
| 查看次数: |
3728 次 |
| 最近记录: |