MDN声称:
逗号运算符计算其两个操作数(从左到右) 并且返回第二个操作数的值。
但是,当我尝试运行<script> alert(1, 2); </script>
时,它会显示“1”而不是“2”。
我误解了什么吗?
答案 0 :(得分:19)
在函数调用的上下文中,逗号用于将参数彼此分开。所以你要做的就是将第二个参数传递给alert()
,这个参数会被忽略。
你想要的是这样的:
alert((1,2));
额外的括号自己形成一个参数;在它们内部,您可以使用逗号作为运算符。
答案 1 :(得分:6)
逗号(,)
也是参数分隔符。
改为使用alert((1,2))
。
答案 2 :(得分:2)
当你这样使用它时,逗号不是运算符,它是调用alert
方法的参数之间的分隔符。
如果你在它们周围放置括号以使它成为表达式,它会显示2
:
alert( (1,2) );