当前位置:  开发笔记 > 编程语言 > 正文

Javascript命名空间冲突

如何解决《Javascript命名空间冲突》经验,为你挑选了1个好方法。



1> Peter Bailey..:

这是因为它的特殊性delete.

这很难理解 - 即使是mozilla文档也不清楚:

delete运算符删除对象,对象的属性或数组中指定索引处的元素.

但后来的州

如果expression 不计算 属性,则delete不执行任何操作.

但如果我们继续阅读,最后会有一些清晰度

您可以使用delete运算符删除隐式声明的 变量,但不能删除使用var 语句声明的变量 .

你去吧 另请注意此页面如何提及delete返回值为true | false,具体取决于操作的合法性.

下面的这个小脚本重复了与脚本相似的行为,但是以一种易于查看的小方式(需要使用firebug)

var a = {foo:'bar',bar:'foo',baz:1};
var b = {"a":a}

console.log( a );
console.log( b );

delete a;
delete b;

console.log( a );
console.log( b );

delete b.a;

console.log( b );

简而言之,我认为您的解决方案只是将您的选项重置为空对象

options = {};

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有