我正在创建变量并将其用于for语句
for(var i = 0; i < 10; i++) {
console.log(i)
}
它工作正常,结果是1-10;
在if
条件下写相同内容
if(var value = 10) {
console.log("Evaluate");
}
它是Unexpected token var
的结果。
当我声明一个变量(var a = 10)时,导致相同的错误。有什么问题吗?
答案 0 :(得分:2)
if
语句仅在内部接受表达式(该计算结果为值)。像var value = ...
这样的语句是语句-而不是求值,而是 (即创建绑定到名称{{1} }。因此,由于value
不能作为表达式求值,因此会引发错误。
有些东西既可以作为语句也可以作为表达式(例如函数)进行评估,但是变量 creation 并不是其中之一。
请注意,变量 assignment 在var value = ...
内是可能的,因为赋值确实计算为所赋值:
if
但这确实使阅读变得困惑-代码阅读者可能会立即担心这是否是错字。尽可能在var value;
if(value = 10) {
console.log('value now has the value 10');
}
条件之外分配变量。
要创建新变量时,仅使用if
。如果您只是想检查一个变量(例如,检查名为var
的变量是否为value
),则只需打印该变量名称,然后使用比较运算符( 10
,而不是===
):
=
答案 1 :(得分:1)
撰写时
var value = 10
实际评估为以下陈述:
var value;
value = 10
您不能在if
中将语句写为 condition ,因为 condition 必须仅是 expression :
被认为是真实或虚假的expression。
答案 2 :(得分:0)
在外部声明并初始化变量。使用适当的运算符。
-v RS="\r\n"
答案 3 :(得分:0)
您需要这样声明变量:
var value = 10;
if(value == 10) {
console.log("Evaluate");
}