私は JavaScript を学んでいて、演習の 1 つは累乗関数を書くことでした。ばかげているように聞こえるので、数学も学ぶ必要があります。
$2 * 2 * 2 * 2 = 16$ であるため、$2 ^ 4 = 16$ であることは直感的にわかります。しかし、関数を読んでみると、16 ではなく 12 を返す必要があるようです。
数字を入れると、次のようになります: $$2 * (2 * (4 - 1)) = 12$$
var power = function( base, exponent ) {
if ( exponent === 0 ) return 1;
return base * power( base, exponent - 1 );
};
power(2,4);
===> 16
明らかに、私は関数を間違って読んでいるに違いありません。しかし、どのように?