我提到this問題/答案,以瞭解原型繼承。Javascript:爲什麼使用定義繼承的原型方法,如果沒有它可以實現繼承?
我知道要擴展一個方法,我們需要在基類中定義Person.prototype.getName
。因此,在子類可以在答案被稱爲myCustomer.sayMyName();
代碼可以概括如下:
function Customer(name) {
this.firstName = name;
};
function User() {
}
Customer.prototype.hi = function() {
console.log('Test method of parent');
} \t
User.prototype = new Customer('shaadi');
var myUser = new User();
myUser.hi();
但問題是,如果我可以調用與以下語法相同,爲什麼我應該使用原型?
我的代碼:
function Customer(name) {
this.firstName = name;
this.hi= function() {
console.log('Test method of parent');
} \t
};
function User() {
}
User.prototype = new Customer('shaadi');
var myUser = new User();
myUser.hi();
我可以用父母的方法沒有定義Customer.prototype.hi
,那麼爲什麼/時,應Customer.prototype.hi
使用?
如果兩種解決方案都使我能夠訪問父母的方法,爲什麼我應該選擇前者?