我试图理解 Javascript 的原型。我知道我可以单独向原型添加功能Calculator.prototype.calculate = function(){};
,但是当我尝试设置新原型时,一切都崩溃了。calc.prototype 返回未定义。我的问题是为什么我们不能设置一个新的对象作为原型?如何将方法批量添加到原型中,而不是一一添加?
var calc = new Calculator();
function Calculator(){
this.array = [];
this.results = 0;
}
Calculator.prototype = {
calculate: function(){
try{
results = eval(this.array.join(''));
this.array = [results];
return results;
}
catch(error){
alert('Wrong arguments provided');
return this.array.join('');
}
},
isNumber: function(str){
return !isNaN(parseFloat(str)) && isFinite(str);
},
addToOperationsArray: function(str){
if (this.array.length <= 0 && !this.isNumber(str)){ // Don't add operand before any number.
return;
}
this.array.push(str);
},
clearEverything: function(){
this.array = [];
}
};