第 3 章函数具有以下代码片段:
const power = function(base, exponent) {
let result = 1;
for(let count = 0; count < exponent; count++) {
result *= base;
}
return result;
};
console.log(power(2, 10));
// 1024
有人可以逐行解释代码中发生的事情,我对 let result = 1 最感到困惑。谢谢!
在第一行中,您声明了一个变量result
。但是,它被声明为let
,而不是var
。Let 与 var 类似,除了它不能在定义它的块之外访问(包括函数、循环和条件语句)。因为它在这里的一个函数中,第一行相当于:
var result = 1;
在第二行:
for (let count = 0; count < exponent; count++) {}
您正在循环exponent
- 因此循环中的代码{}
将被执行exponent
多次。
在第三行:
result *= base;
您正在乘以result
和base
,并将值分配给result
。这一行相当于:
result = result * base;
最后一行:
return result;
此行停止函数并返回result
。返回意味着每当一个函数被调用时,它本质上都会被返回值替换(就像在这一行中):
console.log(power(2, 10));
这将调用power()
参数 2 和 10,并将返回值记录到控制台。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句