delete删除属性

 1 /*
 2         删除实例属性
 3         */
 4         function MyObject() {
 5             this.name = "我是实例的name";
 6         }
 7         var obj = new MyObject();
 8         alert(obj.name); //我是实例的name
 9         delete obj.name;
10         alert(obj.name); //undefined
11         /*
12         实例中的name被删除掉了.
13         删除原型属性
14         */
15         MyObject.prototype.age = 23;
16         alert(obj.age);//23
17         delete obj.age;
18         alert(obj.age); //23
19         /*
20         此时你会发现,delete无法删除掉原型中的属性,那么这个问题怎么解决呢?
21         */
22         delete obj.constructor.prototype.age;//或者 delete MyObject.prototype.age        
23         alert(obj.age); //undefind
24         /*
25         此时原型中的属性age才被真正的删除掉了.
26         注意,因为constructor的属性是可以改变的,所以在使用这个属性时候,要确保constructor指向你说需要的构造器函数.
27         delete在删除宿主属性时,会发生一些不和谐的因素.
28         */
29         window.app = "hello,大家好";
30         delete window.app;
31         /*
32         这个delete在火狐等浏览器中是可以执行的.
33         但是在IE下就会报错了.对象不支持此操作
34         */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值