日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

使用對象字面值(object literal)創建對象

在JAVA中,這是創建對象最簡單的方式。語法如下:

var person = {

firstName: 'san',

lastName: 'zhang'

}

使用new關鍵字創建對象

這種創建對象的方式,類似于在其他面向對象的語言中創建對象,如Java。順便說一下,從ES6開始,類在Java中是原生存在的,可以通過定義類來創建對象。使用new關鍵字創建對象,需要一個構造器函數。

使用new關鍵字創建對象,有如下兩種形式:

使用內建的Object構造器函數

創建對象:

var person = new Object

向對象添加屬性:

person.firtName = 'san'

person.lastName = 'zhang'

不推薦使用這種方式創建對象,因為會涉及到作用域解析,Java會去檢測構造器函數是用戶創建的還是系統內建的。

使用用戶定義的構造器函數

使用Object構造器函數創建對象的問題是每次創建完對象,都需要手工去為對象添加屬性。

為了避免每次都需要手工為對象添加屬性,我們可以創建一個自定義函數。首先,我們創建一個構造器函數,然后使用new關鍵字創建對象。

function Person(firstName, lastName) {

this.firstName = firstName

this.lastName = lastName

}

var person = new Person("san", "zhang")

var person1 = new Person("si", "li")

在這種創建對象的方式中,new關鍵字執行了以下步驟:

  1. 調用函數
  2. 修改this關鍵字指向,將該函數的this指向一個新對象
  3. 將新對象的原型(prototype)綁定到函數的原型

代碼說明如下:

// new關鍵字

function Person(name) {

this.name = name

}

var person = new Person("tudouya")

// 等價代碼

var person1 = Object.create(Person.prototype)

原型(Prototype)方法創建對象

使用原型方法創建對象,代碼如下:

function Person{};

Person.prototype.name = "tudouya";

原型和函數結合創建對象

代碼如下:

function Person(name){

this.name = name;

}

Person.prototype.getName = function{

return this.name

}

使用Object.create方法創建對象

使用這種方式創建對象,可以很方便的從一個已經存在的對象創建一個新對象,而不用使用new關鍵字。

Object.create方法基于一個已經存在的對象作為新創建對象的原型。

使用Object.create方法創建對象,只需要記住它需要傳入兩個參數。第一個參數可以是任意一個對象,該對象作為新創建對象的原型。第二個參數是可選參數,類型是對象,該對象包含向新創建對象添加的屬性。

假設有一個班級對象Class:

var classObj = { className: "一班", studentNum: 100 }

現在想為這個班級創建一個學生,可以使用如下方式:

var studentObj = Object.create(classObj, {

studentName: {

value: "小明"

},

studentAge: {

value: 29

}

})

注意第二個參數的寫法

使用Object.assign方法創建對象

假如我們想創建一個擁有一個以上對象的所有屬性的新對象,Object.assign方法可以實現這種目的。

Object.assign方法用來將一個或多個源對象的所有可枚舉的屬性拷貝到一個目標對象中。

Object.assign可以接受任意數量的對象作為參數。第一個參數是他即將創建,并且返回的參數。其余傳入的對象參數,被用來將屬性復制到新對象中。

假設有如下兩個對象:

var orgObj = { company: "Baidu" }

var carObj = { carName: "Kayan" }

現在需要一個在Baidu公司開著Kayan的員工,可以使用如下方式創建對象:

var employee = Object.assign({}, carObj, orgObj)

singleton(單例)方法創建對象

代碼如下:

var person = new function{

this.name = "tudouya"

}

使用ES6 class創建對象

使用ES6 class創建對象與使用用戶定義的函數構造器創建對象方法類似。構造器函數被類替代,因為它遵循ES6規范。

示例如下:

class Person {

constructor(firstName, lastName) {

this.firstName = firstName

this.lastName = lastName

}

}

var person = new Person("san", "zhang") 

分享到:
標簽:Javascript
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定