亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript中對(duì)象property的刪除方法介紹

 更新時(shí)間:2014年12月30日 09:40:08   投稿:junjie  
這篇文章主要介紹了JavaScript中對(duì)象property的刪除方法介紹,本文主要是對(duì)delete操作符的介紹,需要的朋友可以參考下

JavaScript中,可以使用delete操作符來刪除對(duì)象中的property:


復(fù)制代碼 代碼如下:

var t = {a:42, b:26};
console.log(t);//Object {a=42, b=26}
delete t.a;
console.log(t);//Object {b=26}


這種property刪除操作的局限性在于:delete操作符只能刪除對(duì)象自身所有的property,無法刪除其從prototype對(duì)象處繼承而來的property。如果想刪除prototype對(duì)象中的property,必須顯式獲取prototype對(duì)象后,在prototype對(duì)象中進(jìn)行操作:


復(fù)制代碼 代碼如下:

var o = {x:1, y:2};
var a = Object.create(o);
a.z = 3;
console.log(a);//Object {z=3, x=1, y=2}
delete a.x;//Can NOT delete inherited property
console.log(a);//Object {z=3, x=1, y=2}
delete a.z;//Can delete own property
console.log(a);//Object {x=1, y=2}
delete a.__proto__.x;
console.log(a);//Object {y=2}


如果刪除了prototype對(duì)象中的property,那么所有從該prototype對(duì)象中繼承的對(duì)象都會(huì)收到影響。

 

對(duì)于delete操作的返回值,JavaScript中遵循以下規(guī)則:

 

1.如果delete操作成功,返回true。
2.如果delete操作無任何效果(比如要?jiǎng)h除的property并不存在),也返回true。
3.如果要delete的property,其configurable屬性為false,那么在嚴(yán)格模式下會(huì)報(bào)TypeError錯(cuò)誤,而在非嚴(yán)格模式下則返回false。
如果delete操作符所作用的是全局對(duì)象的property,那么在非嚴(yán)格模式下,代碼中的全局對(duì)象可以省略:

復(fù)制代碼 代碼如下:

this.c = 42;
delete c;//equal to delete this.c;

需要注意的是,在嚴(yán)格模式下,上述寫法會(huì)拋SyntaxError錯(cuò)誤。

相關(guān)文章

最新評(píng)論