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í),就值得注意了。
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')
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')
您可能感興趣的文章:
- 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實(shí)現(xiàn)移除(刪除)數(shù)組中指定元素
- Javascript remove 自定義數(shù)組刪除方法
- javascript中刪除指定數(shù)組中指定的元素的代碼
- JavaScript使用delete刪除數(shù)組元素用法示例【數(shù)組長度不變】
相關(guān)文章
javascript實(shí)現(xiàn)帶節(jié)日和農(nóng)歷的日歷特效
這篇文章主要介紹了javascript實(shí)現(xiàn)帶節(jié)日和農(nóng)歷的日歷特效,效果十分棒,需要的朋友可以參考下2015-02-02
javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法,涉及javascript表格操作及按鈕實(shí)現(xiàn)表格切換的技巧,需要的朋友可以參考下2015-05-05
javascript實(shí)現(xiàn)原生ajax的幾種方法介紹
項(xiàng)目中不需要加載jquery這種龐大的js插件要使用到ajax這種功能該如何辦呢?下面和大家分享幾種利用javascript實(shí)現(xiàn)原生ajax的方法2013-09-09
創(chuàng)建echart多個(gè)聯(lián)動(dòng)的示例代碼
這篇文章主要介紹了創(chuàng)建echart多個(gè)聯(lián)動(dòng)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
js網(wǎng)頁中隨意拖動(dòng)的小方塊實(shí)現(xiàn)代碼
用CSS和JS制作的在網(wǎng)頁中可以隨意拖動(dòng)的小方塊。2008-08-08
移動(dòng)端刮刮樂的實(shí)現(xiàn)方式(js+HTML5)
本篇文章主要介紹了移動(dòng)端刮刮樂的實(shí)現(xiàn)方法以及實(shí)現(xiàn)代碼。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03

