Javascript 分号在for循环中是如何工作的?

Javascript 分号在for循环中是如何工作的?,javascript,for-loop,syntax,Javascript,For Loop,Syntax,我正在编写一个函数,它将一个值提升为另一个值,而不使用指数运算符。我理解这类循环的语法是,初始化值在第一个分号之前,条件在第一个分号和第二个分号之间,第二个分号之后是循环操作 我很困惑,因为我认为这段代码应该被破坏,但它似乎返回了正确的值。当我将result*=base放在count++后的括号内时,代码不会返回正确的值。为什么会这样 //幂函数 函数幂(基、指数){ var结果=1 变量计数=0 对于(;计数

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

我很困惑,因为我认为这段代码应该被破坏,但它似乎返回了正确的值。当我将
result*=
base放在
count++
后的括号内时,代码不会返回正确的值。为什么会这样

//幂函数
函数幂(基、指数){
var结果=1
变量计数=0
对于(;计数<指数;计数++)
结果*=基数
返回结果;
}

打印(电源(5,2))空白的
仅充当占位符。因为您在这个
循环的上面声明了
count=0
,所以这个
就在那里,这样声明就不会被覆盖:

var计数=0;
对于(/*var count=0*/;count<4;count++){
文件。写入(计数);

}
可以在javascript中执行您想要的操作。我认为唯一的问题是你没有使用括号。这会奏效的。
//幂函数
函数幂(基、指数){
var结果=1;
var计数=0;
对于(;计数<指数;计数++,结果*=基){}
返回结果;
}
文件编写(权力(5,2));

//返回25
您刚刚在for循环括号外初始化了count变量。这使得代码可以工作,因为它不需要在变量初始化部分afaik中有一个语句。“当我将count++之后的result*=base放在括号中时,代码就不会返回正确的值。”-您的意思是(;count
?“SyntaxError:意外标记;”。很清楚为什么这样不行。你还应该在每条语句的末尾加上分号。哦,它根本不是复制品。另一个问题是关于分号如何作用于for循环的第一个语句,这个问题是关于如何在for循环的最后一个语句中放置操作…而不是重复的。链接问题是关于for开头的分号,OPs已经理解了。这里的问题是for的最终表达式部分。