//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 ...