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

JavaScript delete 屬性的使用

 更新時(shí)間:2009年10月08日 18:04:34   作者:  
JavaScript對象數(shù)據(jù)結(jié)構(gòu)基本形式:{ key : value},其中key:value就為對象的一個(gè)屬性,key作為屬性名稱,value為屬性值,這值可以是任何JavaScript數(shù)據(jù)類型。
delete 是刪除對象的一個(gè)屬性,例如對于一個(gè)對象,
var obj = {key:5};
delete obj.key就是刪除該對象的key屬性,這個(gè)沒什么問題,但當(dāng)對象的原型prototype對象也存在該屬性時(shí),就值得注意了。
復(fù)制代碼 代碼如下:

var A = function(){};
A.prototype.testMe = true;
var a = new A();
//覆蓋原型屬性
a.testMe = true;
if(a.testMe){
// 一些關(guān)鍵代碼...
// ....
//刪除這屬性
delete a.testMe;
}
//第二段 ---------------------------
// 在其它模塊中
if(a.testMe){
// 一些關(guān)鍵代碼...
// ....
}

第二段是值得注意的,不要以為a中testMe已尼刪除了就不存在了,所以a.testMe就為undefined,即為假,其實(shí)它通過原型訪問還是存在的,還是true!
這里不留神就中招了。
//附:
檢測對象是否存在某屬性, 包括原型鏈的:
if ('attrName' in obj)…
檢測對象是否存在某屬性,是對象本身的,而非原型鏈的:
obj.hasOwnProperty('attrName')

相關(guān)文章

最新評論