建構函式和普通函式的建立方式一樣,但是建構函式習慣首字母大寫。
建構函式與普通函式的區別:呼叫方式不一樣
普通函式:函式名()
建構函式:new 函式名()
new操作符幹了什麼:
建立了乙個空物件,this變數引用該物件,並且繼承該物件的原型。
將屬性和方法加入到引用物件中
新建立的物件由this引用,並且隱式返回this
//函式名和例項化構造名相同且大寫(非強制,但這麼寫有助於區分建構函式和普通函式)
function
person
(name,age)
person.prototype.
say=
function()
var obj=
newperson
("張三",20
);//通過建構函式建立物件,必須使用new 運算子
console.
log(obj.
say())
;//我的名字叫張三今年20歲了
es6的class類
es6引入了class(類)這個概念,通過class關鍵字可以定義類。該關鍵字的出現使得其在物件寫法上更加清晰,更像是一種物件導向的語言。
//函式名和例項化構造名相同且大寫(非強制,但這麼寫有助於區分建構函式和普通函式)
class
person
}say()
var obj=
newperson
("張三",20
);//通過建構函式建立物件,必須使用new 運算子
console.
log(obj.
say())
;//我的名字叫張三今年20歲了
注意:
在類中宣告方法的時候,千萬不要給該方法加上function關鍵字
方法之間不要用逗號分隔,否則會報錯
ES6建構函式class 和 ES5建構函式語法
在說建構函式之前,我們先講一講物件導向程式設計。所謂的物件導向程式設計,是一種程式設計思想和書寫方式方法,它是將程式封裝在物件內,並給物件設定屬性和屬性值。而這個封裝程式的物件我們稱之為例項化物件,而生成例項化物件的函式就是建構函式。一般情況下,為了和普通函式區別,我們將建構函式的首字母大寫。接下來...
ES6建構函式
es6 提供了更接近傳統語言的寫法,引入了 class 類 這個概念,作為物件的模板。通過class關鍵字,可以定義類。基本上,es6 的class可以看作只是乙個語法糖,它的絕大部分功能,es5 都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。傳統的es...
ES6中的class類詳解
目錄 一 class簡介 二 靜態方法和靜態屬性 2.1 靜態方法 2.2 靜態屬性 三 class繼承extends 四 class的取值函式getter和存值函式setter 五 super關鍵字 六 注意事項 傳統的js只有物件的概念,沒有class類的概念,因為js是基於原型的物件導向語言,...