JavaScript delete 屬性的使用
更新時間:2009年10月08日 18:04:34 作者:
JavaScript對象數(shù)據(jù)結(jié)構(gòu)基本形式:{ key : value},其中key:value就為對象的一個屬性,key作為屬性名稱,value為屬性值,這值可以是任何JavaScript數(shù)據(jù)類型。
delete 是刪除對象的一個屬性,例如對于一個對象,
var obj = {key:5};
delete obj.key就是刪除該對象的key屬性,這個沒什么問題,但當(dāng)對象的原型prototype對象也存在該屬性時,就值得注意了。
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,即為假,其實它通過原型訪問還是存在的,還是true!
這里不留神就中招了。
//附:
檢測對象是否存在某屬性, 包括原型鏈的:
if ('attrName' in obj)…
檢測對象是否存在某屬性,是對象本身的,而非原型鏈的:
obj.hasOwnProperty('attrName')
var obj = {key:5};
delete obj.key就是刪除該對象的key屬性,這個沒什么問題,但當(dāng)對象的原型prototype對象也存在該屬性時,就值得注意了。
復(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,即為假,其實它通過原型訪問還是存在的,還是true!
這里不留神就中招了。
//附:
檢測對象是否存在某屬性, 包括原型鏈的:
if ('attrName' in obj)…
檢測對象是否存在某屬性,是對象本身的,而非原型鏈的:
obj.hasOwnProperty('attrName')
您可能感興趣的文章:
- JavaScript中詭異的delete操作符
- js delete 用法(刪除對象屬性及變量)
- Javascript中的delete介紹
- javascript delete 使用示例代碼
- JavaScript從數(shù)組中刪除指定值元素的方法
- Javascript根據(jù)指定下標(biāo)或?qū)ο髣h除數(shù)組元素
- js 刪除數(shù)組的幾種方法小結(jié)
- js刪除數(shù)組元素、清空數(shù)組的簡單方法(必看)
- js刪除Array數(shù)組中指定元素的兩種方法
- 基于JavaScript實現(xiàn)移除(刪除)數(shù)組中指定元素
- Javascript remove 自定義數(shù)組刪除方法
- javascript中刪除指定數(shù)組中指定的元素的代碼
- JavaScript使用delete刪除數(shù)組元素用法示例【數(shù)組長度不變】
相關(guān)文章
部分網(wǎng)站允許空白referer的防盜鏈圖片的js破解代碼
主要是有些網(wǎng)站的圖片調(diào)用是防盜鏈的但一般只是判斷referer是不是自己網(wǎng)站,如果referer為空也會顯示圖片,所以有了下面的代碼。2011-05-05JavaScript實現(xiàn)解析INI文件內(nèi)容的方法
這篇文章主要介紹了JavaScript實現(xiàn)解析INI文件內(nèi)容的方法,結(jié)合實例形式分析了javascript通過自定義函數(shù)實現(xiàn)針對ini文件解析操作的相關(guān)處理技巧,需要的朋友可以參考下2016-11-11