var power = function (base, exponent) {
var result = 1;
for (i = 0; i < exponent; i++) {
result = result * base;
}
return result;
};
power(2, 2);
我其实我得到一些的话,我不明白的是 - 什么是for循环在那里做,后线(功能功率)我的JavaScript电源功能如何工作?
var power = function (base, exponent) {
var result = 1;
for (i = 0; i < exponent; i++) {
result = result * base;
}
return result;
};
power(2, 2);
我其实我得到一些的话,我不明白的是 - 什么是for循环在那里做,后线(功能功率)我的JavaScript电源功能如何工作?
提高一个数量?一定的力量与多次乘以这个数字相同;所以2提高到2的幂与2 * 2相同,2提高到3的幂等于2 * 2 * 2等。for
循环简单地实现了这一点。
环路从0
(含)至exponent
(不包括)乘以base
result
并存储在result
结果环路。多次循环后,它会返回结果。所以它将数量提高到给定的功率(见exponentiation)。
边注:此代码属于猎物The Horror of Implicit Globals,因为它未能声明i
变量。
该函数实际上是通过将基数乘以其自身来以直接方式计算幂函数。
该循环实际上将中间结果与运行范围内的基数相乘。从而计算出result = (((1 * base) * base) * base) * ...
以获得最终结果。
顺便说一句有一个内置的功能是:Math.pow
(see MDN for details)
+1隐含全局 – jbabey 2012-04-17 13:12:18