刪除對象的方法 js刪除對象的屬性怎么做
要從一個對象中刪除一個屬性,你可以這樣做 。
delete myObject.regex;// 或者delete myObject['regex'];// 或者,var prop = "regex";delete myObject[prop];示例
var myObject = {"a": "1111","b": "2222","c": "3333"};delete myObject.a;console.log(myObject);知識點: delete 操作符delete 操作符用于刪除對象的某個屬性;如果沒有指向這個屬性的引用,那它最終會被釋放 。
與通常的看法不同,delete操作符與直接釋放內存無關 。內存管理 通過斷開引用來間接完成的,查看內存管理頁可了解詳情 。
delete 操作符會從某個對象上移除指定屬性 。成功刪除的時候會返回 true,否則返回 false 。
【刪除對象的方法 js刪除對象的屬性怎么做】但是,以下情況需要重點考慮:
- 如果你試圖刪除的屬性不存在,那么delete將不會起任何作用,但仍會返回true
- 如果對象的原型鏈上有一個與待刪除屬性同名的屬性,那么刪除屬性之后,對象會使用原型鏈上的那個屬性(也就是說,delete操作只會在自身的屬性上起作用)
- 任何使用 var 聲明的屬性不能從全局作用域或函數的作用域中刪除 。這樣的話,delete操作不能刪除任何在全局作用域中的函數(無論這個函數是來自于函數聲明或函數表達式)除了在全局作用域中的函數不能被刪除,在對象(object)中的函數是能夠用delete操作刪除的 。
- 任何用let或const聲明的屬性不能夠從它被聲明的作用域中刪除 。
- 不可設置的(Non-configurable)屬性不能被移除 。這意味著像Math, Array, Object內置對象的屬性以及使用Object.defineProperty()方法設置為不可設置的屬性不能被刪除 。
var Employee = {age: 28,name: 'abc',designation: 'developer'}console.log(delete Employee.name);// returns trueconsole.log(delete Employee.age);// returns true// 當試著刪除一個不存在的屬性時// 同樣會返回trueconsole.log(delete Employee.salary); // returns true
推薦閱讀
- 微服務和分布式的區別 分布式是什么概念
- 喪字偏旁部首是什么
- 含鉀低的茶葉有哪些
- 新手駕駛開車技巧 新手上路必看的駕駛技巧
- 十代思域載重多少 十代思域哪年出的
- 駕照科目一怎么考 考科目一的竅門
- 麻油蘿卜是哪里的菜系
- 不是霾的主要來源有哪些
- 青青園中葵的下一句
- 天氣好心情好的句子 天氣和心情的說說
