前言
开发时突然遇到js语句里很多逗号,一下子搞蒙了.才想起来,没有仔细研究过这个东西.
简单说明
直白的说,没有return时,返回最左边结果,有return时返回最右边结果,当return最后一个参数为void 0,将只执行操作无返回
《javascript权威指南(6版)》说逗号运算符(,):先计算左边的操作数,然后计算右边的操作数,最后返回右操作数的值。
比如 var a=(1+1,2+2,3+3); 结果是6。
可是当逗号出现在其他的地方,好像就不是先算左边的,再算右边的,返回右边的了。
比如函数调用中,Math.max(x,y,z)。这里的逗号就是分隔函数参数。
还有声明变量时,var a=1,b=2,c=3。这里的逗号也是起分隔的作用。
请教各位逗号“,”应该怎么去理解?难道是依据逗号使用环境而定?
谢谢各位,求解惑,逗号让我感觉很晕。
网上找的例子:
1 | alert(2*5, 2*4) //输出10而不是8 函数接收第一个参数,也说明逗号级别比较低 |