var power = function (base, exponent) {
var result = 1;
for ( i = 0; i < exponent; i++) {
result = result * base;
}
return result;
};
power(2, 2);
私は実際にそれのいくつかを取得しますが、取得しないのは - for ループはそことその後の行で何をしますか?(関数の力の)
var power = function (base, exponent) {
var result = 1;
for ( i = 0; i < exponent; i++) {
result = result * base;
}
return result;
};
power(2, 2);
私は実際にそれのいくつかを取得しますが、取得しないのは - for ループはそことその後の行で何をしますか?(関数の力の)
ループは0
(包括的) からexponent
(排他的) までループし、 を乗算result
しbase
て結果を に格納しresult
ます。その回数ループすると、結果が返されます。したがって、数値を特定の累乗に上げています(累乗を参照)。
補足: このコードは、変数の宣言に失敗するため、暗黙のグローバルの恐怖の餌食になります。i
数値を特定の累乗にすることは、その数値をそれ自体で何回も掛けることと同じです。したがって、2 の 2 乗は 2 * 2 と同じであり、2 の 3 乗は 2 * 2 * 2 と同じfor
です。ループは単純にそれを実装します。
この関数は実際には、基数をそれ自体で複数回乗算することにより、単純な方法で累乗関数を計算します。
ループは実際に中間結果をリーチ実行のベースで乗算します。result = (((1 * base) * base) * base) * ...
これにより、最終結果を得るために計算します。
ところで、これには組み込み関数があります: Math.pow
(詳細については MDN を参照してください)