在JavaScript中的if语句中声明变量
Declaring a variable inside if statement in JavaScript
为什么以下JavaScript无效?
if (var foo = (true || false)) {
console.log(foo);
}
当您在JavaScript中声明变量时,赋值将返回新变量的值,因此您可以执行以下操作:
if (foo = (true||false)) console.log('Hello!');
> Hello!
现在,如果您调用foo
,它将具有值true
:
console.log(foo);
> true
您不能使用var
专用词,因为if
是一个语句,而不是函数。如果你想确定变量的范围,那么你必须首先声明它:
var foo;
if (foo = (true||false)) console.log('Hello!');
> Hello!
看看这里:
http://www.ecma-international.org/ecma-262/5.1/#sec-12.5
然后在这里:
http://www.ecma-international.org/ecma-262/5.1/#sec-11
并得出语法无效的结论,因为:
http://www.ecma-international.org/ecma-262/5.1/#sec-12.2
关于(或者更确切地说,缺乏)上述内容。
试试这个:
var foo = true || false;
if (foo) {
console.log(foo);
}
先放置声明,然后检查条件。
您可以这样做:
var foo;//declare the variable first
if (foo = (true || false)) { //then assign the value for foo
console.log(foo);
}
不能在if语句中创建变量声明。
相关文章:
- 使用同一对象中的其他变量声明变量
- 用||声明变量
- 使用javascript使用for循环声明变量
- JavaScript-用for循环项声明变量
- try声明变量的作用域
- 有没有一种方法可以使用函数参数的值来声明变量
- 在使用javascript再次声明变量之前,请先清除或删除该变量
- Javascript未声明变量
- 在Javascript中,我可以在声明变量之前使用它吗
- 在html文档的开头声明变量
- 按什么顺序声明变量和函数
- 如何以正确的方式在jQuery中声明变量
- 在 Angular 服务中接收函数的未声明变量
- 字典和声明变量
- 需要一些有关以以下样式声明变量的信息
- 在 jQuery 中使用常量声明变量
- 从外部文件在打字稿中声明变量得到引用错误:..未定义
- JavaScript,声明变量时混淆语法
- 在 javascript 函数和内存管理中声明变量
- Javascript 使用 if 语句声明变量