最近我在互联网上看到一个在 javascript 中有效的语句,我想知道我在 if 语句中最常使用的 javascript 中的单个等号 (=) 是什么意思。
它是一个包含双等号(==)的比较函数
if(i = 1) {
alert(i);
}
这行得通,我想知道当 if 语句被分配给变量 i 的值 1 并检查 i 的值是否与以下值相同时会发生什么:
i = 1
if(i) {
alert(i)
}
但是我很快意识到,赋值变量需要有关键字var 所以我将代码更改为:
if(var i = 1) {
alert(i);
}
这次代码不起作用。为什么?
最佳答案
您的第一部分分析当然是正确的。
现在,有趣的部分可能是为什么您的最后一段代码 if (var ...) {
不起作用。
它不起作用,因为
1)
var something
is a statement ,不是表达式。
2) 以下是 ECMAScript 定义 if statement 的方式:
IfStatement :
if ( Expression ) Statement else Statement
if ( Expression ) Statement
您必须在 if
子句中放置表达式,而不是语句。
关于javascript - 单个等号在javascript中的if语句中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974377/