Javascript + 运算符 vs - 运算符

标签 javascript

我对此感到困惑snippet :

var n1 = 5-"4";
var n2 = 5+"4";

alert(n1);
alert(n2);

我知道 n1 是 1。那是因为减号运算符会将字符串“4”转换为数字并从 5 中减去它。 但为什么我们在 + 运算符的情况下得到 54?

有人可以向我解释 + 和 = 运算符之间的区别吗?

最佳答案

通过类型转换,任何包含字符串的 + 表达式都将生成一个字符串。因此,在执行连接之前,所有操作数(在您的情况下为 5)都将转换为字符串。

另一方面,

- 只是一个算术操作数,因此 "4" 被转换为一个整数,并按您预期的方式执行计算。

关于Javascript + 运算符 vs - 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650700/

相关文章:

javascript - TWeb浏览器 : Set referer header when HTML loaded from stream

javascript - 重写全局alert()函数在Tampermonkey中不起作用

javascript - 禁用 javascript 时使 displaytag 工作

javascript - 防止超链接触发Jquery?

javascript - 如何使用 JavaScript/CSS 为 DOM 元素设置动画

javascript - 一种形式中的两种不同 Action

javascript - 检查对象是否为 null 元素

javascript - 脚本在 JSFiddle 中有效,但在实际中无效

javascript - 如何使用jquery删除onclick生成的多个div元素

javascript - 无法第二次读取json文件: "Unexpected end of input error"