js 如何刪除對象里的某個屬性
如何刪除對象里的某個屬性
刪除屬性有很多方法,學(xué)到了就在這里記錄一下。
有一個對象 a 。有2個屬性 b=1 , c=2 刪除b,保留 c
1.使用delete
let a = {b:1,c:2} delete a.b//true console.log(a)//{c:2}
2.使用解構(gòu)
let a = {b:1,c:2} let {b,...a} = a console.log(a)//{c:2}
3.使用反射
let a = {b:1,c:2} Reflect.deleteProperty(a,"b"); console.log(a)//{c:2}
添加、修改、刪除對象的屬性和方法
在其他語言中,對象一旦生成,就不可更改,要為一個對象添加修改成員必須要在對應(yīng)的類中修改,并重新實例化,而且程序必須經(jīng)過重新編譯。
JavaScript 中卻非如此,它提供了靈活的機制來修改對象的行為,可以動態(tài)添加、修改、刪除屬性和方法。
例如首先使用類Object來創(chuàng)建一個空對象user:
var user = new Object();
1.添加屬性
這時user對象沒有任何屬性和方法,可以為它動態(tài)地添加屬性
user.name = 'Amy'; user.age = 10; user.address = "cn";
通過上述語句,user 對象便具有了三個屬性:name、age和address, 打印輸出user如下:
2.添加方法
添加方法地過程和添加屬性地方法類似:
user.call = function() { console.log('Hello, My name is '+ this.name); }
這就為user 對象添加了一個方法“call”,通過執(zhí)行它,可以在打印臺顯示自己的名字介紹
console.log(user);user.call();
打印結(jié)果如下:
3.修改屬性
修改一個屬性的過程就是用新的屬性替換舊的屬性,例如:
user.name = 'Rose'; user.call = function() { console.log('Hello, this is '+ this.name); }
這樣就修改了user 對象name屬性的值和call方法
4.刪除屬性
刪除一個屬性的過程也很簡單,就是將其置為undefined :
user.name=undefined; user.call=undefined;
這樣就刪除了name屬性和call方法,在之后的代碼中,這些屬性變的不可用
注:在添加、修改或者刪除屬性時,和引用屬性相同,也可以采用方括號([])語法: user[“name”]=”tom”;
使用這種方式還有一個額外的特點,就是可以使用非標識符字符串作為屬性名稱,例如:
標識符中不允許以數(shù)字開頭或者出現(xiàn)空格,但在方括號([])語法中卻可以使用: user[“my name”]=”tom”;
需要注意,在使用這種非標識符作為名稱的屬性時,仍然要用方括號語法來引用: alert(user[“my name”]);
而不能寫為: alert(user.my name);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
個人網(wǎng)站留言頁面(前端jQuery編寫、后臺php讀寫MySQL)
這篇文章主要為大家介紹了個人網(wǎng)站的留言頁面,前端使用jQuery編寫、后臺利用php簡單讀寫MySQL數(shù)據(jù)庫,感興趣的小伙伴們可以參考一下2016-05-05使用element-plus時重寫樣式不起作用的問題及解決方法
這篇文章給大家介紹使用element-plus時重寫樣式不起作用的問題及解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-09-09JavaScript支持的最大遞歸調(diào)用次數(shù)分析
這篇文章主要介紹了JavaScript支持的最大遞歸調(diào)用次數(shù)分析,也稱JavaScript支持的最大堆棧數(shù)量,需要的朋友可以參考下2014-06-06