对于模糊和混淆所有人感到抱歉,我感谢所有的反馈,但让我解释一下我想要做什么。
我想用两种方法创建一个名为Multiplier的对象:multiply和getCurrentValue 乘法应该最初返回提供的数字* 1,从那时起,无论如何 当前值是提供的数字的倍数,getCurrentValue应该返回最后一个 答案从乘法中返回。
嘿大家我在抓住这个概念时遇到了一些麻烦。
到目前为止,这是我的代码:
var multiplier = {
function multiply(){
alert("Input a number to be multiplied by 1")
var a = prompt("Input your desired number");
var b = a * 1;
return alert(b);
}
}
multiply();
任何帮助或进一步解释如何进行此操作将不胜感激
答案 0 :(得分:1)
var multiplier = {
lastValue: null,
getCurrentValue: function() {
return lastValue;
},
multiply: function() {
alert("Input a number to be multiplied by 1")
var a = prompt("Input your desired number");
var b = a * 1;
lastValue = b;
return alert(b);
}
}
这应该做你想要的。您正在定义一个名为multiplier的对象,它有两个函数和一个保存最后一个值的变量。
当然,还有其他方法可以做到这一点,但你的问题有点模糊。
更加面向对象的方法就是这样。
function Multiplier() {
var lastValue = null;
this.getCurrentValue = function() {
return lastValue;
};
this.multiply = function() {
alert("Input a number to be multiplied by 1");
var a = prompt("Input your desired number");
var b = a * 1;
lastValue = b;
return alert(b);
}
}
使用这种方法,您的lastValue变量是私有的。你只暴露了这两个功能。现在,您可以在需要时创建这些对象中的新对象,如此。
var myMultiplier = new Multiplier();
你可以像这样调用乘法器上的函数。
myMultiplier.multiply();