Совсем недавно я прочитал об использовании JavaScript-вызовов в MDC
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call
одна ссылка из приведенного ниже примера, я все еще не понимаю.
Почему они здесь используют наследование
Prod_dept.prototype = new Product();
Это необходимо? Потому что есть вызов супер-конструктора в
Prod_dept()
в любом случае, как этот
Product.call
это просто из-за обычного поведения? Когда лучше использовать вызов супер-конструктора или использовать цепочку прототипов?
function Product(name, value){
this.name = name;
if(value >= 1000)
this.value = 999;
else
this.value = value;
}
function Prod_dept(name, value, dept){
this.dept = dept;
Product.call(this, name, value);
}
Prod_dept.prototype = new Product();
// since 5 is less than 1000, value is set
cheese = new Prod_dept("feta", 5, "food");
// since 5000 is above 1000, value will be 999
car = new Prod_dept("honda", 5000, "auto");
Спасибо, что поняли, что делать.