日期:2014-05-16  浏览次数:20313 次

delete删除 变量
var a = 1; //注意这里是分号,不是逗号
  b = 2;
delete a;
delete b;
alert(a); // 1
alert(b); //b被删除了 所以报错

求解释这其中的原委。。。

------解决方案--------------------
baidu下变量的dont delete属性
------解决方案--------------------
delete 只能删除对象的属性,
所以delete a后a的值还是1

b没有通过var定义,b = 2等价于window.b = 2,当然delete b等价于delete window.b,所以b会被删除
------解决方案--------------------
http://www.cnblogs.com/jfp888/archive/2011/06/09/2076127.html
------解决方案--------------------
delete 不能删除具有DontDelete特性的成员
那什么是具有DontDelete特性的成员呢
例如var 申明的变量,函数名申明的函数,Function对象的length等极少数几个拥有DontDelete特性