JavaScript刪除和清空物件屬性
本文介紹一下如何利用JavaScript刪除物件中的屬性。
這是非常基礎簡單的操作,可能剛接觸JavaScript的朋友會產生一些誤操作。
首先看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼let antzone = { webName: "螞蟻部落", url:"www.softwhy.com", address:"青島市南區", age:4 } antzone.webName=""; antzone.age=undefined;
可能以為將物件屬性值設定為空或者undefined等表示空的值就是刪除屬性。
然而事實僅僅是將屬性值設定為空或者undefined,屬性依然存在。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let antzone = { webName: "螞蟻部落", url:"www.softwhy.com", address:"青島市南區", age:4 } antzone.webName=""; antzone.age=undefined; console.log(Object.keys(antzone));
程式碼執行效果截圖如下:
可以看到物件的屬性並沒有被刪除。
Object.keys()方法可以獲取物件的可列舉自有屬性名稱。
具體用法可以參閱Object.keys()方法一章節。
一.刪除物件指定屬性:
非常簡單的操作,使用delet運算子即可實現。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let antzone = { webName: "螞蟻部落", url:"www.softwhy.com", address:"青島市南區", age:4 } delete antzone.age; console.log(Object.keys(antzone));
程式碼執行效果截圖如下:
上面的程式碼通過delete運算子可以刪除age屬性。
並不是將age屬性值賦值為空或者undefined等,而是切切實實把它從物件中刪除。
二.清空物件屬性:
操作也非常簡單,通過迴圈遍歷挨個刪除即可。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let antzone = { webName: "螞蟻部落", url:"www.softwhy.com", address:"青島市南區", age:4 } for(let key in antzone){ delete antzone[key]; } console.log(Object.keys(antzone));
程式碼執行效果截圖如下:
由執行效果截圖可以看到,物件中已經被清空。
三.並不是所有屬性都是可以刪除的:
(1).原型鏈繼承的屬性不能刪除。
(2).被凍結或者密封物件的屬性是不可以被刪除的。
原型鏈這個非常好理解,因為繼承的屬性本質上不是當前物件自有,而是所有物件例項共享。
這個屬性本質不是位於當前物件,而是在原型鏈某個物件之上,這怎麼能刪除。
關於被凍結和密封物件的屬性不能被刪除,可以參閱如下兩篇文章:
(1).Object.seal()方法一章節。
(2).Object.freeze()方法一章節。
相關文章
- js為物件新增和刪除屬性JS物件
- javascript如何動態刪除或者新增物件屬性JavaScript物件
- JavaScript 刪除class屬性JavaScript
- JavaScript訪問物件的屬性和方法JavaScript物件
- javascript獲取物件直接量中的屬性和屬性值JavaScript物件
- 理解 JavaScript 物件的屬性JavaScript物件
- class屬性的新增刪除
- javascript delete刪除屬性的注意點簡單介紹JavaScriptdelete
- javascript原型物件的屬性不能夠覆蓋物件自有屬性JavaScript原型物件
- Vue 不能檢測到物件屬性的新增或刪除,注意!!!Vue物件
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- JavaScript遍歷物件的屬性JavaScript物件
- javascript基礎(物件,物件屬性,屬性基本和引用資料型別,字面量建立物件,垃圾回收,屬性的列舉)(十三)JavaScript物件資料型別
- 刪除多餘的屬性 xmlns=""XML
- JavaScript私有屬性和靜態屬性JavaScript
- 重新認識javascript物件(一)——物件及其屬性JavaScript物件
- JavaScript物件的資料屬性與訪問器屬性JavaScript物件
- JavaScript遍歷物件屬性順序JavaScript物件
- JavaScript物件屬性是有序的嗎?JavaScript物件
- jQuery新增和刪除元素class屬性例項程式碼jQuery
- JavaScript 建立和刪除元素JavaScript
- javascript layerX和layerY屬性JavaScript
- 深入理解JavaScript類與物件:揭秘類欄位和靜態屬性的妙用,js靜態屬性和例項屬性JavaScript物件JS
- 利用Runtime清空單例屬性單例
- JavaScript內建物件屬性及方法大全JavaScript物件
- JavaScript 判斷物件中是否有某屬性JavaScript物件
- javascript如何建立一個屬性節點物件JavaScript物件
- JavaScript使用name屬性值獲取元素物件JavaScript物件
- 認識JavaScript陣列物件的length屬性JavaScript陣列物件
- 如何刪除使用prop()方法新增的屬性
- javascript callee和caller屬性用法JavaScript
- JavaScript公有屬性、私有屬性、公有方法和原型方法JavaScript原型
- unity3d 程式碼 新增和刪除指令碼,或者其他屬性Unity3D指令碼
- JavaScript物件導向怎樣刪除標籤頁?JavaScript物件
- 原生javascript如何刪除一個元素節點物件JavaScript物件
- Win10右鍵圖形屬性如何刪除 win10刪除右鍵圖形屬性選項的步驟Win10
- JavaScript中的物件學習筆記(屬性操作)JavaScript物件筆記
- javascript遍歷物件的屬性簡單介紹JavaScript物件