我想知道JavaScript是否允许在一个语句中使用多个赋值赋值运算符。我知道多变量分配,讨论here。多个加法赋值运算符在一个语句中
我的编码方式目前看起来有点像这样:
var x = someComplicatedFunction();
foo += x;
bar += x;
有没有办法做这样的事情?
foo, bar += someComplicatedFunction();
我想知道JavaScript是否允许在一个语句中使用多个赋值赋值运算符。我知道多变量分配,讨论here。多个加法赋值运算符在一个语句中
我的编码方式目前看起来有点像这样:
var x = someComplicatedFunction();
foo += x;
bar += x;
有没有办法做这样的事情?
foo, bar += someComplicatedFunction();
你可以把尽可能多的语句,你在一行想:
var x = someComplicatedFunction(); foo += x; bar += x;
如果你想在一个声明中做的一切,它更混乱,但它是可行的:
bar -= foo - (foo += someComplicatedFunction());
但是没有什么不可思议的让你在一个声明中做所有事情,而不需要分配和可读。
第二种说法非常聪明,尽管以可读性为代价。我想知道JavaScript是否有一些我不知道的语法糖。 –
请注意,使用第二种形式的唯一原因是避免混淆命名空间。它不会更快(它比使用IIFE来避免x变量更快,但您很少需要增加两个变量而不会处于可能污染的局部范围内)。 –
[人们想知道perfs的jsperf](http://jsperf.com/dblass)。 –
你是否试图将'foo'和'bar'设置为相同的值?或试图将相同的值添加到两者? –
@LeeMeador我想为两者添加相同的值。 –