gpt4 book ai didi

Javascript:为什么 (p+1)++ 不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:44 25 4
gpt4 key购买 nike

关于

p = 0;
(p+1)++;
> ReferenceError: Invalid left-hand side expression in postfix operation

p = 0;
++(p+4);
> ReferenceError: Invalid left-hand side expression in prefix operation

我只是有点惊讶,因为我预计后缀/前缀运算符可以处理表达式的解析(括号具有最高的运算符优先级)。

谁能给我一三句话来解释这里发生的事情?

谢谢

编辑:感谢您的快速回复,第一个答案被标记为答案。我觉得我也应该指点人深入answer from @thefourtheye下面

最佳答案

++ 增加变量的值,因此它比以前更大。例如:

var x = 3;
x++;
alert(x); // will show 4

要做到这一点,++ 左侧的表达式必须可访问且可变,否则递增是可能的。例如:

3++

没有任何意义,因为 3 是一个常数,不能递增。我们不希望这成为可能:

3++;
alert(3); // outputs 4???

这就是为什么您的表达式不起作用的原因。即:

var p = 2;
(p + 1)++;

和上面有同样的问题。 (p + 1) 的计算结果为 3,++ 无法更改常量 3 的值。

关于Javascript:为什么 (p+1)++ 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22802838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com