什麼是原型
每個函數都有prototype(原型)屬性,這個屬性是一個指針,指向一個對象,
這個對象的用途是包含特定類型的所有實例共享的屬性和方法,
即這個原型對象是用來給實例共享屬性和方法的。而每個實例內部都有一個指向原型對象的指針。
原型的概念
(1) 神祕對象與構造函數
- 神祕對象就是構造函數的 “原型屬性”
- 簡稱原型 (構造函數的原型)
(2)神祕對象與構造函數所創建出來的對象
- 神祕對象針對構造函數創建出來的對象稱爲 “原型對象”
- 簡稱原型 (對象的原型)
原型的作用
實現數據共享
原型圖示
獲取原型的方式
方法一:
p. __ proto __
方法二:
p.constructor.prototype
方法三:
Object.getPrototypeOf( p )
原型的使用方式
1.通過給既定對象的屬性賦值
var Calculator = function (para1, para2) {
this.para1 = para1;
this.para2 = para2;
};
Calculator.prototype = {
add: function (para1, para2) {
}
}
};
2.在賦值原型prototype的時候使用function立即執行的表達式來賦值
xxx.prototype=function(){}();