gsa*_*ras 3 javascript compiler-errors operators prefix-operator postfix-operator
我错了,写道:
++number++;
Run Code Online (Sandbox Code Playgroud)
得到了这个:
Uncaught ReferenceError: Invalid left-hand side expression in prefix operation
Run Code Online (Sandbox Code Playgroud)
为什么?除了这个之外,我要先加number1然后再加number1.
在JavaScript中,++是前缀和后缀增量运算符.该后缀经营者有更高的优先级,所以当我们应用的优先级,你的表达变成:
++(number++);
Run Code Online (Sandbox Code Playgroud)
结果number++是一个值,而不是一个变量引用,因此它不能是前缀增量运算符的操作数,因为同样的原因++42是无效的 - 没有地方可以将结果写回.
为什么在操作员右侧将其称为"左侧表达式" ?您必须查看V8源代码(我可以从V8上的错误文本中看出,可能是Chrome).我可以推测,这是因为许多运算符接受两个操作数(左和右),并且它们只是++默认调用"左手" 这样的一元运算符的唯一操作数.但那是猜测.
| 归档时间: |
|
| 查看次数: |
902 次 |
| 最近记录: |