我正在使用这种类型的代码进行继承。问题是我在设置prototype
B
时遇到错误,因为设置new A()
时params.param
尝试访问params
而undefined
为B.prototype
向上function A(params) {
this.param = params.param; // this will throw error when set up B prototype
}
function B(params) {
A.call(this, params); // this is ok
}
B.prototype = new A(); // this is bad, A need some parameters
。怎么处理呢?或者我应该使用另一种样式来模拟js中的继承?
{{1}}
答案 0 :(得分:0)
你可以这样做,不会遇到问题。
var EmptyFunc = function() {};
EmptyFunc.prototype = A.prototype;
B.prototype = new EmptyFunc;