首頁  >  文章  >  web前端  >  javascript如何刪除鍵值對

javascript如何刪除鍵值對

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-07-20 14:17:339528瀏覽

在javascript中,可以使用delete運算子刪除鍵值對,語法格式為「delete 物件名稱.屬性」。 delete操作符用於刪除物件的某個屬性;如果沒有指向這個屬性的引用,那麼它最終會被釋放。

javascript如何刪除鍵值對

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

 delete 運算子用來刪除物件的某個屬性;如果沒有指向這個屬性的引用,那麼它最終會被釋放。

語法:

delete expression
// expression 的计算结果应该是某个属性的引用,例如:
delete object.property
delete object['property']

object:物件的名稱,或計算結果為物件的表達式。

property:要刪除的屬性。

對於所有情況都是true,除非屬性是一個自身的 不可配置的屬性,在這種情況下,非嚴格模式會傳回 false。

在嚴格模式下,如果是屬性是自己無法設定的屬性,就會拋出TypeError。

delete 運算子會從某個物件移除指定屬性。成功刪除的時候會回傳 true,否則回傳 false。

但是,以下情況需要重點考慮:

  • 如果你試圖刪除的屬性不存在,那麼delete將不會起任何作用,但仍會傳回true

  • 如果物件的原型鏈上有一個與待刪除屬性同名的屬性,那麼刪除屬性之後,物件會使用原型鏈上的那個屬性(也就是說,delete操作只會在自身的屬性上運作)

  • 任何使用 var 宣告的屬性都不能從全域作用域或函數的作用域中刪除。

    • 這樣的話,delete運算不能刪除任何在全域作用域中的函數(無論這個函數是來自於函數宣告或函數表達式)

    • 除了在全域作用域中的函數不能被刪除,在物件(object)中的函數是能夠用delete操作刪除的。

  • 任何用let或const宣告的屬性不能夠從它被宣告的作用域中刪除。

  • 不可設定的(Non-configurable)屬性不能移除。這表示像Math, Array, Object內建物件的屬性以及使用Object.defineProperty()方法設定為不可設定的屬性不能被刪除。

以物件json為例:

var json = {
name:'张三',
age:'23'
};

刪除json中屬性age的方法

delete  json.age;

【推薦學習:javascript進階教學

以上是javascript如何刪除鍵值對的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn