欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js 如何刪除對(duì)象里的某個(gè)屬性

 更新時(shí)間:2022年09月15日 10:49:39   作者:言小溪  
這篇文章主要介紹了js 如何刪除對(duì)象里的某個(gè)屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何刪除對(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)的類(lèi)中修改,并重新實(shí)例化,而且程序必須經(jīng)過(guò)重新編譯。

JavaScript 中卻非如此,它提供了靈活的機(jī)制來(lái)修改對(duì)象的行為,可以動(dòng)態(tài)添加、修改、刪除屬性和方法。

例如首先使用類(lèi)Object來(lái)創(chuàng)建一個(gè)空對(duì)象user:

var user = new Object();

1.添加屬性

這時(shí)user對(duì)象沒(méi)有任何屬性和方法,可以為它動(dòng)態(tài)地添加屬性

user.name = 'Amy';
user.age = 10;
user.address = "cn";

通過(guò)上述語(yǔ)句,user 對(duì)象便具有了三個(gè)屬性:name、age和address, 打印輸出user如下:

2.添加方法

添加方法地過(guò)程和添加屬性地方法類(lèi)似:

user.call = function() {
    console.log('Hello, My name is '+ this.name);
}

這就為user 對(duì)象添加了一個(gè)方法“call”,通過(guò)執(zhí)行它,可以在打印臺(tái)顯示自己的名字介紹

console.log(user);user.call();

打印結(jié)果如下:

3.修改屬性

修改一個(gè)屬性的過(guò)程就是用新的屬性替換舊的屬性,例如:

user.name = 'Rose';
user.call = function() {
    console.log('Hello, this is '+ this.name);
}

這樣就修改了user 對(duì)象name屬性的值和call方法

4.刪除屬性

刪除一個(gè)屬性的過(guò)程也很簡(jiǎn)單,就是將其置為undefined :

user.name=undefined;
user.call=undefined;

這樣就刪除了name屬性和call方法,在之后的代碼中,這些屬性變的不可用

注:在添加、修改或者刪除屬性時(shí),和引用屬性相同,也可以采用方括號(hào)([])語(yǔ)法: user[“name”]=”tom”;

使用這種方式還有一個(gè)額外的特點(diǎn),就是可以使用非標(biāo)識(shí)符字符串作為屬性名稱(chēng),例如:

標(biāo)識(shí)符中不允許以數(shù)字開(kāi)頭或者出現(xiàn)空格,但在方括號(hào)([])語(yǔ)法中卻可以使用: user[“my name”]=”tom”;

需要注意,在使用這種非標(biāo)識(shí)符作為名稱(chēng)的屬性時(shí),仍然要用方括號(hào)語(yǔ)法來(lái)引用: alert(user[“my name”]);

而不能寫(xiě)為: alert(user.my name);

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論