Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中的if语句中声明变量_Javascript - Fatal编程技术网

在JavaScript中的if语句中声明变量

在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

为什么下面的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 (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
关键字不能用于比较。这是一个语句,不是一个函数。