这段时间,好象很多人对javascript的delete操作符非常感兴趣。我是在短短的几天内就发现了三篇文章 ,稍后会在文章结束时一一列出。
三篇文章都介绍了delete的出现的三种情况:
1、全局变量
2、局部变量
3、Eval中处理的变量
也都提到了Execution context,Variable Object和Activation object,由于在eval中代码里的变量会变成当前调用上下文的Variable object的属性.Eval代码使用它被调用的上下文作为自己执行的上下文.,所以对于这个就没有特别的介绍。
然后他们都相对于对象的属性是否可以被删除作了一些介绍。
我不想多多的介绍很多,毕竟这个东西,还是在实践中才能够记得住。而且他在不同的浏览器下效果也却都不一样,就象其中一个作者做的测试。
window.flower=1; // delete flower 时对象会不支持此操作
// 我们可以用
with(window){flower=1};
//然后
delete flower
//记住是delete flower,不是delete window.flower ,ie不允许那么做)
// 这样 window.flower就被删除了 :)
很有意思的代码吧?所以我把三篇文章集中了一下,到时候大家可以看看。
参考引用:
1、理解delete的总结(这是参考2的总结文章,作者为同一人)
【更新】为防止这三篇文章哪天就不能访问了,所以我直接另存为html文件,保证以后可以查看,请点击下载