javascript - 为什么当 +x++ 工作正常时,+++x 会给出错误消息?

标签 javascript

var x = null;

+++x 生成一个 ReferenceError,但是当我使用后缀增量运算符 +x++ 执行相同操作时,它工作得很好。

最佳答案

++ 运算符的 LeftHandSideExpression 不能是数字。例如

1++;

将失败并出现相同的错误(无效的增量操作数)。您只能对变量/标识符/表达式应用前置和后置增量运算符。

由于 + 符号将 null 值 转换为数字 (0),因此您得到了相同的结果。

例子:

var foo = null,
    bar = 5;

foo++;    // 0
0++;      // invalid increment operand
null++;   // invalid increment operand
(+bar)++  // invalid increment operand
foo++ +2; // 2

关于javascript - 为什么当 +x++ 工作正常时,+++x 会给出错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7715585/

相关文章:

javascript - Angular、PrimeNG - p 下拉菜单意外呈现

javascript - 表单 validate() 函数未被调用

javascript - HapiJs 根据角色路由访问

javascript - Angular - URL 已更改但未加载 View

javascript - 套接字 io 发射生成 'instanceof' 的右侧不是对象

javascript - jquery - 调用外部js文件中的函数

javascript - react /通量 : strange error while rendering

javascript - if 条件下的异步操作

javascript - jquery 正则表达式 trim url 字符串的开头和结尾

javascript - 为什么我对 ajax 请求得到空白响应?