在JavaScript中的if语句中声明变量
为什么下面的JavaScript无效在JavaScript中的if语句中声明变量,javascript,Javascript,为什么下面的JavaScript无效 if (var foo = (true || false)) { console.log(foo); } 请看这里: 那么这里: 并得出该语法无效的结论,因为: 当您在JavaScript中声明变量时,赋值将返回新变量的值,因此您可以执行以下操作: if (foo = (true||false)) console.log('Hello!'); > Hello! var foo;//declare the variable first
if (var foo = (true || false)) {
console.log(foo);
}
请看这里:
那么这里:
并得出该语法无效的结论,因为:
当您在JavaScript中声明变量时,赋值将返回新变量的值,因此您可以执行以下操作:
if (foo = (true||false)) console.log('Hello!');
> Hello!
var foo;//declare the variable first
if (foo = (true || false)) { //then assign the value for foo
console.log(foo);
}
现在,如果调用foo
,它的值将为true
:
console.log(foo);
> true
不能使用var
专用词,因为if
是语句,而不是函数。如果要确定变量的范围,则必须首先声明它:
var foo;
if (foo = (true||false)) console.log('Hello!');
> Hello!
试试这个:
var foo = true || false;
if (foo) {
console.log(foo);
}
首先放置声明,然后检查条件。您可以这样做:
if (foo = (true||false)) console.log('Hello!');
> Hello!
var foo;//declare the variable first
if (foo = (true || false)) { //then assign the value for foo
console.log(foo);
}
您不能在if语句中创建变量声明。您希望此代码做什么?将
true
记录到控制台。您能解释一下您希望如何得到此输出吗?您认为应该如何执行此代码?为什么您认为变量赋值会返回布尔值?(true | false)
的计算结果为true。foo
的赋值结果为true。if
检查作为赋值结果的条件,whcih是true
。if“should”的主体然后运行。显然它不是有效的JS,但我的问题是为什么?赋值将返回它被赋值的变量的值<代码>如果(foo=true)将返回true。只是,var
关键字不能用于比较。这是一个语句,不是一个函数。