Comma operator returns first value instead of second in argument list?

前端 未结 3 992
余生分开走
余生分开走 2020-12-14 12:31

MDN claims that:

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

相关标签:
3条回答
  • 2020-12-14 12:53

    When you use it like that, the comma is not an operator, it's a separator between the parameters in the call to the alert method.

    If you put parentheses around them so that it's an expression, it will show you 2:

    alert( (1,2) );
    
    0 讨论(0)
  • 2020-12-14 13:03

    In the context of a function call, the comma is used to separate parameters from each other. So what you're doing is passing a second parameter to alert() which gets silently ignored.

    What you want is possible this way:

     alert((1,2));
    

    The extra brackets form a parameter on their own; inside them you can use the comma as an operator.

    0 讨论(0)
  • 2020-12-14 13:09

    Comma(,) is also a parameter separator.

    Use alert((1,2)) instead.

    0 讨论(0)
提交回复
热议问题