0
我已经构建了一个构造函数,并在其原型中添加了3个函数。 当我尝试调用从样机的功能我得到这个错误JavaScript Prototype函数问题
类型错误:未定义是不是一个函数(评估“fireOne.addLogs(8)”)
请能有人告诉我我在做什么错误。我想不明白。
在此先感谢
function SignalFire(ID, startingLogs){
this.fireID = ID;
this.logsLeft = startingLogs;
}
var fireOne = new SignalFire(1, 20);
var fireTwo = new SignalFire(2, 18);
var fireThree = new SignalFire(3, 24);
SignalFire.prototype = {
addLogs: function(numLogs){
this.logsLeft += numLogs;
},
lightFire: function(){
alert("Whoooooosh!");
},
smokeSignal: function(message) {
if (this.logsLeft < this.message.length/10){
alert("Not enough fuel to send " +
"the current message!");
}
else {
this.lightFire();
var x = this.message.length;
for(var i = 0; i < x; i++){
alert("(((" + this.message[i] + ")))");
if (i % 10 === 0 && i !== 0){
this.logsLeft--;
}
}
}
}
};
fireOne.addLogs(8);
如果添加了一一这会甚至工作('SignalFire.prototype.addLogs =功能...')。但是由于你完全替换了整个'原型'对象,所以参考文献被打破了。 – deceze
只需在fireOne.addLogs之前创建对象(8) – user2085143
这是您的代码的顺序。在添加原型之前创建。在原型对象之后放置var fireXXX = new SignalFire()... – epascarello