delete运算符

1.delete是一个运算符,标志着它不能独立出现在语句中,必须跟着运算元

2.delete运算符的优先级仅次于 ”.“,”[]“,”()“;

3.delete仅在删除一个不能删除的成员是,才会返回false

4.delete不能删除用var声明的变量;  //因为用var声明的是全局变量

5.delete不能删除继承自原型的成员,但如果实例中修改了这个成员的值,也可以删除实例中成员表的值与描述符

//构造器
 function MyObject() {};
 MyObject.prototype.say = function() {};
var obj = new MyObject();
for(var i in obj){
 console.log(i)
}
delete obj.say
obj.say //还是会输出,说明没有删除

6.delete不能删除函数的标识符

7.delete在IE6-8中不能删除宿主环境的成员

   

window.prop = 'my custom property'
delete window.prop     //IE6-8中报错,对象不支持些方法

 

posted @ 2013-05-08 16:19  独角xi  阅读(455)  评论(0编辑  收藏  举报