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í),就值得注意了。
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')
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')
您可能感興趣的文章:
- JavaScript中詭異的delete操作符
- js delete 用法(刪除對(duì)象屬性及變量)
- Javascript中的delete介紹
- javascript delete 使用示例代碼
- JavaScript從數(shù)組中刪除指定值元素的方法
- Javascript根據(jù)指定下標(biāo)或?qū)ο髣h除數(shù)組元素
- js 刪除數(shù)組的幾種方法小結(jié)
- js刪除數(shù)組元素、清空數(shù)組的簡(jiǎn)單方法(必看)
- js刪除Array數(shù)組中指定元素的兩種方法
- 基于JavaScript實(shí)現(xiàn)移除(刪除)數(shù)組中指定元素
- Javascript remove 自定義數(shù)組刪除方法
- javascript中刪除指定數(shù)組中指定的元素的代碼
- JavaScript使用delete刪除數(shù)組元素用法示例【數(shù)組長(zhǎng)度不變】
相關(guān)文章
部分網(wǎng)站允許空白referer的防盜鏈圖片的js破解代碼
主要是有些網(wǎng)站的圖片調(diào)用是防盜鏈的但一般只是判斷referer是不是自己網(wǎng)站,如果referer為空也會(huì)顯示圖片,所以有了下面的代碼。2011-05-05JavaScript實(shí)現(xiàn)解析INI文件內(nèi)容的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)解析INI文件內(nèi)容的方法,結(jié)合實(shí)例形式分析了javascript通過(guò)自定義函數(shù)實(shí)現(xiàn)針對(duì)ini文件解析操作的相關(guān)處理技巧,需要的朋友可以參考下2016-11-11通過(guò)js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例
下面小編就為大家?guī)?lái)一篇通過(guò)js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10深入解析微信小程序開(kāi)發(fā)中遇到的幾個(gè)小問(wèn)題
這篇文章主要介紹了微信小程序開(kāi)發(fā)中遇到的幾個(gè)小問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07解析如何利用iframe標(biāo)簽以及js制作時(shí)鐘
本文對(duì)如何利用iframe標(biāo)簽以及js制作時(shí)鐘進(jìn)行了全面解析,分步說(shuō)明,條理清晰,感興趣的朋友可以看下2016-12-12