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

JavaScript 對(duì)象創(chuàng)建的3種方法

 更新時(shí)間:2021年11月12日 15:15:07   作者:劉志軍  
這篇文章主要給大家分享的時(shí)JavaScript 對(duì)象創(chuàng)建的3種方法,在 JavaScript中,對(duì)象是一組有屬性名和屬性值組成的無(wú)序集合,對(duì)象的創(chuàng)建可以通過(guò)對(duì)象字面量、new 關(guān)鍵字 和Object.create()函數(shù)來(lái)創(chuàng)建。

前言:

JavaScript中,對(duì)象是一組有屬性名和屬性值組成的無(wú)序集合,對(duì)象的創(chuàng)建可以通過(guò)對(duì)象字面量、new 關(guān)鍵字 和Object.create()函數(shù)來(lái)創(chuàng)建。

1、對(duì)象字面量

let obj = {}  // 空對(duì)象
let obj2 = {a:1, b:2}

let obj3 = {" hel": "wold"}  // 屬性名如果有空格,可以用字符串字面量作為屬性名

2、new 關(guān)鍵字創(chuàng)建對(duì)象

使用 new 關(guān)鍵字后面調(diào)用構(gòu)造函數(shù),創(chuàng)建一個(gè)新的對(duì)象

let o = new Object(); // 內(nèi)置的構(gòu)造函數(shù)

let m = new Math();

let a = new Array();

let d = new Date();

function Person(){  //自定義構(gòu)造函數(shù)

}
let person = new Person()


3、使用 Object.create() 創(chuàng)建對(duì)象

let o = Object.create({x:1, y:2});
console.log(o.x+o.y) //3


新對(duì)象o 將繼承 {x:1, y:2} ,屬性x和y稱為繼承屬性, 如果傳入的參數(shù)是null,則這個(gè)對(duì)象不會(huì)繼承任何對(duì)象。被繼承的對(duì)象又稱之為“原型”。

Object.create(null)

4、 使用擴(kuò)展操作符:...

ES2018新增了擴(kuò)展操作符...,將已有的對(duì)象屬性復(fù)制到新的對(duì)象中

let foo  = {x:1, y:2}
let bar  = {z:3}

let zoo = {...foo, ...bar}

console.log(zoo) // {x:1, y:2, z:3}


需要注意的幾點(diǎn):

  • 擴(kuò)展操作符只擴(kuò)展對(duì)象的自有屬性,繼承屬性不支持?jǐn)U展
  • 如果擴(kuò)展對(duì)象和被擴(kuò)展的對(duì)象有相同名字的屬性,屬性的值由后面的對(duì)象決定

5、使用Object.assign()方法

assign 可以把一個(gè)對(duì)象的屬性復(fù)制到另一個(gè)對(duì)象, assign 接收兩個(gè)或多個(gè)參數(shù),第一個(gè)參數(shù)為目標(biāo)對(duì)象,第二個(gè)及后續(xù)參數(shù)為來(lái)源對(duì)象,函數(shù)將把來(lái)源對(duì)象的屬性復(fù)制到目標(biāo)對(duì)象,并返回目標(biāo)對(duì)象。

let foo  = {x:1, y:2}
let bar  = {z:3}

let zoo = {}

let obj = Object.assign(zoo, foo, bar)

console.log(zoo)  // {x:1, y:2, z:3}

console.log(obj===zoo) // true  

另外補(bǔ)充兩個(gè)ES6中新增的對(duì)象特性

6、簡(jiǎn)寫屬性

如果想創(chuàng)建多個(gè)變量名和對(duì)應(yīng)值組合成的對(duì)象,原來(lái)需要像傳統(tǒng)對(duì)象字面量語(yǔ)法構(gòu)建對(duì)象

let x=1, y =2;
let o = {x:x, y:y}

console.log(o) // {x:1, y:2}


ES6之后可直接簡(jiǎn)寫屬性,省去分號(hào)和屬性名

let o2 = {x, y}

console.log(o2) // {x:1, y:2}

7、簡(jiǎn)寫方法

在對(duì)象中定義方法時(shí),ES6以前需要,定義方法時(shí)需要像定義普通屬性一樣,通過(guò)函數(shù)表達(dá)式定義方法

let point={
    x:1,
    y:2,

    area: function(){
        return this.x*this.y
    }
}

console.log(point.area()) //2

ES6之后可以省略冒號(hào)和function關(guān)鍵字,以一種簡(jiǎn)單的方式來(lái)定義對(duì)象的方法。

let point2={
    x:1,
    y:2,

    area(){
        return this.x*this.y
    }
}

console.log(point2.area()) //2

到此這篇關(guān)于JavaScript 對(duì)象創(chuàng)建的3種方法的文章就介紹到這了,更多相關(guān)JavaScript 對(duì)象創(chuàng)建方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論