gpt4 book ai didi

javascript - 用逗号赋值有效吗?

转载 作者:IT王子 更新时间:2023-10-29 02:40:56 24 4
gpt4 key购买 nike

为什么 aaa = 1,2,3 起作用并将 aaa 的值设置为 1

为什么 var bbb = 1,2,3 不起作用?

为什么 var bbb = (1,2,3) 起作用并将 bbb 的值设置为 3

Example console session

最佳答案

这里发生了很多事情,但基本上,它归结为 comma operator .

The comma operator evaluates both of its operands (from left to right) and returns the value of the second operand.


这段代码:

aaa = 1,2,3

相当于:

aaa = 1;
2;
3;

因此 aaa 被隐式声明并赋值为 1。请注意,控制台上的输出是最后一条语句的结果 3。


这段代码:

var bbb = 1,2,3

是语法错误,因为变量声明中的逗号用于在一行中声明多个变量。正如 MDN 文章指出的那样,

Note that the comma in the var statement is not the comma operator, because it doesn't exist within an expression. Rather, it is a special character in var statements to combine multiple of them into one.

所以这段代码大致等同于:

var bbb = 1;
var 2;
var 3;

当然,2 不是一个有效的标识符,所以它在那个时候失败了。


这段代码:

var bbb = (1,2,3)

与第一个非常相似,只是因为数值被包裹在括号中,所以它们首先被评估。所以这大致等同于:

1;
2;
var bbb = 3;

关于javascript - 用逗号赋值有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22773463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com