我正在编写一个函数,该函数可以在不使用指数运算符的情况下将一个值提升为另一个值。我理解这类循环的语法是初始化值在第一个分号之前,条件在第一个和第二个分号之间,第二个分号之后是循环操作。
我很困惑,因为我认为这段代码应该被破坏,但它似乎返回了正确的值。当我将 result *=
base 放在 count++
后面的括号内时,代码不会返回正确的值。这是为什么?
//Power function
function power(base, exponent) {
var result = 1
var count = 0
for (; count < exponent; count++)
result *= base
return result;
}
print(power(5, 2));
最佳答案
在这种情况下,空白的;
仅充当占位符。因为您在此 for
循环上方声明了 count = 0
,所以此 ;
就在那里,这样声明就不会被覆盖:
var count = 0;
for(/*var count=0*/; count < 4; count++){
document.write(count);
}
P.S. 我注释掉了 var count = 0
因为这本质上就是代码所代表的内容(因为您之前调用了它)。
关于javascript - for循环中的分号如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473582/