最近我在互联网上看到了一个在 javascript 中工作的语句,我想知道 javascript 中我主要在 if 语句中使用的单个等号 (=) 的含义是什么。
这是一个比较函数,包含双等号(==)
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
是一个声明 http://es5.github.io/#x12.2,不是一个表达式。
2) ECMAScript 是这样定义的if 语句 http://es5.github.io/#x12.5 :
如果语句:
if ( 表达式 ) 语句 else 语句
if(表达式)语句
您必须在其中添加一个表达式if
条款,而不是陈述。
本文详细介绍了表达式与语句。 http://www.2ality.com/2012/09/expressions-vs-statements.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)