我有一个存储在变量中的这样的等式 (50 * 1.07 ^ 1)其非常简单。我想知道每次函数运行时我怎么能改变功率:50 * 1.07 ^ 2,50 * 1.07 ^ 3等等。有帮助吗? 这是我的代码:
var mathForCost = 50 * 1.07 ^ 1;
function gainCoinsPS() {
if (coins >= costPS) {
coinsPS += 10;
coins -= costPS;
// Here is where I am changing the cost each time the function runs,
// so I need to make the power(^1) add 1 each time
costPS = document.getElementById("changePrice1").innerHTML = "Cost: " + costPS;
} else {;
alert("You dont have enough coins!");
};
}
答案 0 :(得分:0)
将电源保存到变量,您可以在需要时更新它。您最好将等式放入函数并将幂传递给它,然后返回解决方案。
var power = 1,
eq = function(p){
return 50*1.07^+p; // returns solution
};
for(var i=0; i<10; i++){
power = i;
console.log( eq(power) ); // solution
}
&#13;
答案 1 :(得分:0)
您可以将状态存储到运行等式的函数中。这有助于您避免在函数外添加更多状态。让函数跟踪它被调用的次数。
function calc() {
if (!this.i) {
this.i = 1;
}
return (50 * Math.pow(1.07, this.i++));
}
console.log(calc());
console.log(calc());
console.log(calc());
&#13;
答案 2 :(得分:0)
您可以将力量存储在变量中,并在每次调用函数时将其递增。
var power = 1;
function calculate() {
console.log(50 * Math.pow(1.07, power));
power++;
}
calculate();
calculate();
calculate();
&#13;
答案 3 :(得分:0)
在Javascript中,你不能将一个等式存储在一个变量中,除了可能是一个字符串(但它充满了自己的问题)。您的函数将在执行时进行评估,输出的值将存储在变量中。
要做你想做的事情,你最好有一个运行方程式的函数,并且每次增加功率 - 如果功率在更高的范围内,这可以工作(或者可以通过闭包实现) )
var power = 1;
function getCost()
var cost = Math.pow(50*1.07, power);
power++;
return cost;
}
每次运行此功能时,它都会返回计算出的成本并增加功率值,因此下次运行时它会高一个。
或者,如果你想要关闭路线,你可以这样做:
var getCost = (function () {
var power = 1;
return function () {
var cost = Math.pow(50*1.07, power);
console.log(power);
power++;
return cost;
}
})();
答案 4 :(得分:0)
Math.pow函数是javascript。
你可以使用这样的东西
var pow = 1;
for(var power=1; power<limit; power++){ // run the loop upto a limit
console.log(Math.pow(50*1.07, power);
}
答案 5 :(得分:0)
您可以使用它的功能。
getCost = function (n) { return 50 * Math.pow(1.07, n); };
或者使用ES6&#39; arrow function
getCost = n => 50 * Math.pow(1.07, n);
用
调用它value = getCost(1);
答案 6 :(得分:0)
要将priceLines
的幂增加1,每次只需将值乘以1.07
(根本不需要1.07
函数)
pow