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

JavaScript delete 屬性的使用

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

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

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

相關文章

最新評論