为什么结果是8?

时间:2017-04-20 17:19:32

标签: javascript math operations

今天我接受了JS的面试,其中一个问题是

的价值是多少?

var a = (3,5 - 1) * 2;

嗯我假设它的8(chrome dev控制台也给它8)但我不知道为什么它是8。为什么省略3?我的意思是你当然不能对它进行任何操作,但它仍然会消失,或者我错了?

请放轻松我。我想了解。任何有关此类行动的文章都将受到高度赞赏

3 个答案:

答案 0 :(得分:2)

根据Comma Operator | MDN

  

逗号运算符计算每个操作数(从左到右)并返回最后一个(最右边)操作数的值。

因此,var a = (3,5 - 1) * 2;会返回4 * 2 = 8

答案 1 :(得分:2)

3,5它不是3.5(浮动)。见comma operator

  

逗号运算符计算每个操作数(从左到右)   并返回最后一个操作数的值。

3,5等于5.

(3,5 - 1) * 2转换为(5 - 1) * 2,即8。

答案 2 :(得分:1)

参见此参考:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator

逗号运算符计算列出的所有表达式并返回最后一个。所以你的表达式简化为

(5 - 1)* 2