- Date 繼承 Date.prototype
- Array 繼承 Array.prototype
- Person 繼承 Person.prototype
- 繼承鏈的最頂端是 Object.prototype
在 prototype 增加屬性(properties)或方法(methods),會影響到所有已經存在的物件(objects)
function User(name, age, phone) {
this.name = name;
this.age = age;
this.phone = phone;
}
var me = new User('Shawn', 18, '0900123456');
var coworker = new User('Koji', 20, '0911321321');
// 所有使用者增加國籍的屬性
User.prototype.nationality = 'Taiwan';
// 所有使用者增加取得出生年份的方法
User.prototype.birthYear = function () {
var year = new Date().getFullYear();
return year - this.age;
}
me.nationality; // Taiwan
coworker.nationality; // Taiwan
me.birthYear();
coworker.birthYear();
不要修改 javascript 標準物件的 prototype
沒有留言:
張貼留言