在經典物件導向程式設計語言中,constructor是一種在記憶體中已分配給該物件的情況下,用於初始化新建立物件的特殊方法。 在js中,幾乎所有的東西都是物件——object構造器。
object構造器用於建立特定型別的物件——準備好物件以備使用,同時接受構造器可以使用的引數,以在第一次建立物件時,設定成員屬性和方法的值。
//或者
let newobject = new object()
在object構造器為特定的值建立物件封裝,或者沒有傳遞值時,它將建立乙個空物件並返回它。
將鍵值賦值給乙個物件的四種方法:
//可以繼承的物件:1newobject.somekey = "holle world"
var key =newobject.somekey//2
newobject["somekey"] = "holle world"
var key = newobject["somekey"]//3
object.defineproperty(newobject, "somekey", )//4
object.definepropert(newobject, ,
"anotherkey":
})//
可以用 1 和 2 中獲取屬性的方法獲取3 和 4 的值
//js不支援類的概念,但它確實支援與物件一起用於 constructor 函式。通過在構造器前面加 new 關鍵字,告訴 js 像使用構造器一樣例項化乙個新物件,並且物件的成員有該函式定義。建立司機物件,繼承於person物件
var driver =object.create(person)
//為 driver 設定一些屬性
defineprop(driver, "topspeed", "100mph")
//獲取繼承的屬性
console.log(driver.dateofbirth)
//獲取設定的 100mph
console.log(driver.topspeed)
在構造器內, this 引用新建立的物件。回顧物件建立,基本的構造器看起來可能是這樣的:
function通過js構造器建立物件後,新物件就會具有構造器原型的所有屬性。car(model, year, miles) }//
用法let civic = new car("honda civic", 2009, 20000)
let modeo = new car("honda modeo", 2010, 9000)
console.log(civic.tostring)
console.log(modeo.tostring)
functioncar(model, year, miles)
car.prototype.tostring = function
() //
用法let civic = new car("honda civic", 2009, 20000)
let modeo = new car("honda modeo", 2010, 9000)
console.log(civic.tostring)
console.log(modeo.tostring)
設計模式 構造器模式
目錄 一 概述 二 詳解 構造器模式,也稱建構函式模式。物件構造器用於建立特定型別的物件。當用new關鍵字呼叫乙個建構函式建立物件時,函式返回值為this,即建立的物件指向函式中的this,這叫隱士返回。簡單的構造器模式 function person name,age,job var person...
JS設計模式 構造器模式
看過高程書的對這個設計模式應該很熟悉。構造器模式屬於建立型設計模式。那麼什麼是建立型設計模式呢?建立型設計模式專注於處理物件的建立機制。也就是說這類模式,都和建立物件的過程密不可分。除了構造器模式屬於這類模式。還有其他一些設計模式也屬於建立型設計模式。比如 下面還是先來談談構造器模式。在物件導向的程...
JS設計模式 構造器模式
引入 看過高程書的對這個設計模式應該很熟悉。構造器模式屬於建立型設計模式。那麼什麼是建立型設計模式呢?建立型設計模式專注於處理物件的建立機制。也就是說這類模式,都和建立物件的過程密不可分。除了構造器模式屬於這類模式。還有其他一些設計模式也屬於建立型設計模式。比如 工廠模式 抽象模式 原型模式 單例模...