【发布时间】:2018-05-29 21:11:49
【问题描述】:
JavaScript 强制、顺序优先级和关联性可能会令人困惑,但我使用下面的链接来理解它,
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
但我仍然不明白为什么"1"+"1" 会导致"11" 和"1"- - "1" 会导致2,
- - 应该转换为+ 并且它应该像"1"+"1" 一样处理,我在这里缺少什么?
你可以在这里测试它:
console.log("1" + "1");
console.log("1"- - "1");
【问题讨论】:
-
"'- -' 应该转换为 +" - 为什么?
-
在操作数周围加上引号,+ 被解释为字符串连接。 - - 运算符将操作数转换为数字并从 1 中减去 -1 得到 2。
-
只需根据优先/关联规则添加括号,您应该就有答案了。
-
“我在这里遗漏了什么?” 不同的运算符执行不同种类的类型转换。
-
"
- -应该转换为+" 绝对不是操作员的工作方式,在任何语言中。 “转换”不会发生在运营商身上。- -不再转换为+,而不是a * 1/b转换为a / b。
标签: javascript