欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript delete 屬性的使用

 更新時(shí)間:2009年10月08日 18:04:34   作者:  
JavaScript對(duì)象數(shù)據(jù)結(jié)構(gòu)基本形式:{ key : value},其中key:value就為對(duì)象的一個(gè)屬性,key作為屬性名稱(chēng),value為屬性值,這值可以是任何JavaScript數(shù)據(jù)類(lèi)型。
delete 是刪除對(duì)象的一個(gè)屬性,例如對(duì)于一個(gè)對(duì)象,
var obj = {key:5};
delete obj.key就是刪除該對(duì)象的key屬性,這個(gè)沒(méi)什么問(wèn)題,但當(dāng)對(duì)象的原型prototype對(duì)象也存在該屬性時(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í)它通過(guò)原型訪(fǎng)問(wèn)還是存在的,還是true!
這里不留神就中招了。
//附:
檢測(cè)對(duì)象是否存在某屬性, 包括原型鏈的:
if ('attrName' in obj)…
檢測(cè)對(duì)象是否存在某屬性,是對(duì)象本身的,而非原型鏈的:
obj.hasOwnProperty('attrName')

相關(guān)文章

最新評(píng)論