javascript - for循环中的分号如何工作?

标签 javascript for-loop syntax

我正在编写一个函数,该函数可以在不使用指数运算符的情况下将一个值提升为另一个值。我理解这类循环的语法是初始化值在第一个分号之前,条件在第一个和第二个分号之间,第二个分号之后是循环操作。

我很困惑,因为我认为这段代码应该被破坏,但它似乎返回了正确的值。当我将 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/

相关文章:

c++ - 迭代器或 reverse_iterator 的一个变量?

syntax - 首选 if-loop 中的大括号 - .editorConfig

excel - 使用VBA将Excel工作簿导出为PDF

JavaScript 函数使 CPU 利用率达到 100%

javascript - 只有第一个随机引用淡入

javascript - react native ListView onEndReached 多次调用

android - 如何将我的数据库拆分为 1 MB 的 block ?

javascript - 为什么要定义一个匿名函数并将 jQuery 作为参数传递给它?

python - 创建奇数索引python的总和

php - 将计数器变量添加到变量名称