Class和普通建構函式的區別

2021-10-01 12:12:19 字數 1483 閱讀 3071

//js建構函式

function

mathhandle

(x,y)

mathhandle.prototype.

add=

function()

let test =

newmathhandle(1

,2);

console.

log(test.

add())

;console.

log(

typeof mathhandle)

;console.

log(mathhandle.prototype.constructor === mathhandle)

;console.

log(test.__proto__ === mathhandle.prototype)

;// 3

// function

// true

// true

//class語法

class

mathhandle

add()}

let test2 =

newmathhandle(3

,7);

console.

log(test2.

add())

;console.

log(

typeof mathhandle)

;console.

log(mathhandle.prototype.constructor === mathhandle)

;console.

log(test2.__proto__ === mathhandle.prototype)

;

class本身只是語法糖,

// //動物

// function animal()

// }

// //狗

// function dog()

// }

// //繫結原型,實現繼承

// dog.prototype = new animal();

// let erha = new dog();

// erha.bark();

// erha.eat();

class

animal

eat()}

class

dogextends

animal

bark()

}let dog =

newdog

('erha');

dog.

bark()

;dog.

eat(

);

總結:

class在語法上更加貼合物件導向的寫法,class實現繼承更加易讀,更易於後端開發人員的學習,但是本質上還是語法糖,使用的還是prototype原型的繼承方式。

建構函式和普通函式區別

第一次寫部落格,希望每天都可以堅持下來寫一點點小知識!建構函式和普通函式的區別 1.返回值型別的區別 建構函式無返回值 普通函式有返回值,即使無返回值,也要加乙個void 2.函式名的區別 建構函式的函式名必須與類名一致 普通函式的函式名只要符合識別符號的命名規範就好。3.呼叫方式的區別 建構函式是...

普通函式和建構函式的區別

在命名規則上,建構函式一般是首字母大寫,普通函式遵照小駝峰式命名法。在函式呼叫的時候 function fn 建構函式 1.new fn 2 建構函式內部會建立乙個新的物件,即f的例項 3.函式內部的this指向 新建立的f的例項 4.預設的返回值是f的例項 普通函式 1.fn 2.在呼叫函式的內部...

C 普通建構函式和複製建構函式的區別

1 形式上 類名 形參列表 普通建構函式的宣告,如box int h int w,int len 類名 類名 物件名 複製建構函式的宣告,如box box b 2 在建立物件時,實參不同,系統會根據引數來決定呼叫哪個建構函式 box box1 12,15,37 實參為整數,呼叫普通建構函式 box ...