function object(o) {
function F() {
}
F.prototype = o;
return new F();
}
// 要繼承的父對象
var parent = {
name: "Papa"
};
// 新對象
var child = object(parent);
// 測試
console.log(child.name); // "Papa"
// 父構造函數
function Person() {
// an "own" property
this.name = "Adam";
}
// 給原型添加新屬性
Person.prototype.getName = function () {
return this.name;
};
// 創建新person
var papa = new Person();
// 繼承
var kid = object(papa);
console.log(kid.getName()); // "Adam"
// 父構造函數
function Person() {
// an "own" property
this.name = "Adam";
}
// 給原型添加新屬性
Person.prototype.getName = function () {
return this.name;
};
// 繼承
var kid = object(Person.prototype);
console.log(typeof kid.getName); // "function",因爲是在原型裏定義的
console.log(typeof kid.name); // "undefined", 因爲只繼承了原型
JS原型繼承實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.