js 如何刪除對(duì)象里的某個(gè)屬性
如何刪除對(duì)象里的某個(gè)屬性
刪除屬性有很多方法,學(xué)到了就在這里記錄一下。
有一個(gè)對(duì)象 a 。有2個(gè)屬性 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}添加、修改、刪除對(duì)象的屬性和方法
在其他語(yǔ)言中,對(duì)象一旦生成,就不可更改,要為一個(gè)對(duì)象添加修改成員必須要在對(duì)應(yīng)的類中修改,并重新實(shí)例化,而且程序必須經(jīng)過重新編譯。
JavaScript 中卻非如此,它提供了靈活的機(jī)制來(lái)修改對(duì)象的行為,可以動(dòng)態(tài)添加、修改、刪除屬性和方法。
例如首先使用類Object來(lái)創(chuàng)建一個(gè)空對(duì)象user:
var user = new Object();
1.添加屬性
這時(shí)user對(duì)象沒有任何屬性和方法,可以為它動(dòng)態(tài)地添加屬性
user.name = 'Amy'; user.age = 10; user.address = "cn";
通過上述語(yǔ)句,user 對(duì)象便具有了三個(gè)屬性:name、age和address, 打印輸出user如下:

2.添加方法
添加方法地過程和添加屬性地方法類似:
user.call = function() {
console.log('Hello, My name is '+ this.name);
}
這就為user 對(duì)象添加了一個(gè)方法“call”,通過執(zhí)行它,可以在打印臺(tái)顯示自己的名字介紹
console.log(user);user.call();
打印結(jié)果如下:

3.修改屬性
修改一個(gè)屬性的過程就是用新的屬性替換舊的屬性,例如:
user.name = 'Rose';
user.call = function() {
console.log('Hello, this is '+ this.name);
}
這樣就修改了user 對(duì)象name屬性的值和call方法

4.刪除屬性
刪除一個(gè)屬性的過程也很簡(jiǎn)單,就是將其置為undefined :
user.name=undefined; user.call=undefined;
這樣就刪除了name屬性和call方法,在之后的代碼中,這些屬性變的不可用

注:在添加、修改或者刪除屬性時(shí),和引用屬性相同,也可以采用方括號(hào)([])語(yǔ)法: user[“name”]=”tom”;
使用這種方式還有一個(gè)額外的特點(diǎn),就是可以使用非標(biāo)識(shí)符字符串作為屬性名稱,例如:
標(biāo)識(shí)符中不允許以數(shù)字開頭或者出現(xiàn)空格,但在方括號(hào)([])語(yǔ)法中卻可以使用: user[“my name”]=”tom”;
需要注意,在使用這種非標(biāo)識(shí)符作為名稱的屬性時(shí),仍然要用方括號(hào)語(yǔ)法來(lái)引用: alert(user[“my name”]);
而不能寫為: alert(user.my name);
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
HTML中用JS實(shí)現(xiàn)旋轉(zhuǎn)的圣誕樹
這篇文章介紹了HTML中用JS實(shí)現(xiàn)旋轉(zhuǎn)的圣誕樹,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
js對(duì)url進(jìn)行編碼解碼的三種方式總結(jié)
為一個(gè)字符串進(jìn)行URL編碼很容易,只需要調(diào)用encodeURI,傳入要編碼的字符串即可,而且實(shí)現(xiàn)的方法不止這一個(gè),下面這篇文章主要給大家介紹了關(guān)于js對(duì)url進(jìn)行編碼解碼的三種方式,需要的朋友可以參考下2023-02-02
基于JS實(shí)現(xiàn)橫線提示輸入驗(yàn)證碼隨驗(yàn)證碼輸入消失(js驗(yàn)證碼的實(shí)現(xiàn))
最近在開微信的頁(yè)面,在項(xiàng)目需求中遇到之前沒有做過的功能,要求橫線提示輸入驗(yàn)證碼隨驗(yàn)證碼輸入橫線消失,基于js怎么實(shí)現(xiàn)的呢?下面小編給大家分享基于js實(shí)現(xiàn)驗(yàn)證碼功能,感興趣的朋友一起看看吧2016-10-10
element el-input 刪除邊框的實(shí)現(xiàn)
本文主要介紹了element el-input 刪除邊框的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
關(guān)于火狐(firefox)及ie下event獲取的兩種方法
經(jīng)常有同事問我在火狐瀏覽器怎么獲取event的方法,大多是想獲取event.keyCode的功能,接下來(lái)為您介紹兩種實(shí)現(xiàn)方法,需要了解的朋友可以參考下2012-12-12
JS獲取當(dāng)前時(shí)間戳與時(shí)間戳轉(zhuǎn)日期時(shí)間格式問題
這篇文章主要介紹了JS獲取當(dāng)前時(shí)間戳與時(shí)間戳轉(zhuǎn)日期時(shí)間格式,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01
原生Js 實(shí)現(xiàn)的簡(jiǎn)單無(wú)縫滾動(dòng)輪播圖的示例代碼
這篇文章主要介紹了原生Js 實(shí)現(xiàn)的簡(jiǎn)單無(wú)縫滾動(dòng)輪播圖的示例代碼,幫助大家更好的理解喝學(xué)習(xí)使用js,感興趣的朋友可以了解下2021-05-05

