Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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中,是否有以下名称:variable=variable=value;_Javascript_Coding Style - Fatal编程技术网

在Javascript中,是否有以下名称:variable=variable=value;

在Javascript中,是否有以下名称:variable=variable=value;,javascript,coding-style,Javascript,Coding Style,这个有名字吗?下面是我想说的一个例子: var i = 0; var j = 0; i = j = 1; 很明显,i和j都被设置为1。但是这种做法有名字吗?此外,就良好的编码标准而言,这类事情通常都是避免的吗?我还可以得到一个例子或解释为什么它是/不是良好的做法吗?我认为它被称为“分配链” 我们说赋值是“右联想”。也就是说 i = j = 1; 相当于 i = (j = 1); j=1将数字1分配给j,然后返回j的值(现在是1)。正如Daniel所说,这称为链式分配。通常是避免使用的,因为

这个有名字吗?下面是我想说的一个例子:

var i = 0;
var j = 0;
i = j = 1;

很明显,
i
j
都被设置为1。但是这种做法有名字吗?此外,就良好的编码标准而言,这类事情通常都是避免的吗?我还可以得到一个例子或解释为什么它是/不是良好的做法吗?

我认为它被称为“分配链”

我们说赋值是“右联想”。也就是说

i = j = 1;
相当于

i = (j = 1);

j=1
将数字
1
分配给
j
,然后返回j的值(现在是
1
)。

正如Daniel所说,这称为链式分配。通常是避免使用的,因为对于某些值(例如对象),行
i=j=\u something\u
创建了从
i
j
的引用。如果以后更改
j
,则
i
也会更改

var i = {};
var j = {};
i = j = {a:2};
j.a = 3; //Now, j.a === 3 AND i.a === 3
有关示例,请参见此JSFIDLE演示:


如果您不知道
i
j
将是什么,您可能会遇到问题

有时称为“链式分配”,有时称为“多变量分配”。另外,您可能想看看问题的答案。

相关:谢谢,这正是我想要的。我可以发誓我以前试过一次,它扭曲了我想做的,这就解释了。再次感谢你!