Javascript:为什么我调用此代码时没有抛出错误?

And*_*tze 4 javascript syntax html5 canvas

我正在玩HTML画布并使用Javascript在其上写一些文本.

虽然这样做我做了一个简单的错误,花了我一些时间来找到.我写:

context.fillText = ("My message", x-coord, y-coord);
Run Code Online (Sandbox Code Playgroud)

等号阻止了我预期的行为.但是我有一件事没有得到:为什么这段代码在Chrome的Javascript控制台中没有给我错误?

这是有效的Javascript吗?如果是的话:你能解释代码在等号出现时的作用吗?

Pau*_*aul 6

是的,这是有效的Javascript.它使用逗号运算符,它只计算左边的表达式,然后是右边的表达式,并返回右边的表达式的值.

由于表达式"My message"x-coord没有副作用,因此它与:

context.fillText = y-coord;
Run Code Online (Sandbox Code Playgroud)

要么:

"My message"; // Does nothing
x-coord;      // Does nothing
context.fillText = y-coord;
Run Code Online (Sandbox Code Playgroud)