javascript - 为什么 '+' 运算符在 JavaScript 中表现异常?

标签 javascript operators concatenation string-concatenation arithmetic-expressions

<分区>

我正在学习 JavaScript。

我尝试在 JavaScript 表达式中用双引号括起不同的数字,我对以下代码语句的第三个结果感到惊讶。

考虑以下代码语句及其输出,这些语句出现在每个代码行之前的注释中。

var x = "5" + 2 + 3;
document.getElementById("demo").innerHTML = x; //Output is : **523**

var x = 5 + "2" + 3;
document.getElementById("demo").innerHTML = x; //Output is : **523**

var x = 5 + 2 + "3";
document.getElementById("demo").innerHTML = x; //Output is : **73**

谁能解释一下“+”运算符在 JavaScript 中为何以及如何表现异常?

为什么最后一条语句的输出不是523,因为其中一个数字是字符串?

请用简单明了的语言向我解释。

谢谢。

最佳答案

Javascript 从左到右执行表达式。所以在最后一个例子中它会这样做:

5 + 2 => 7
7 + "3" => "73"

希望对你有帮助

关于javascript - 为什么 '+' 运算符在 JavaScript 中表现异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38889294/

相关文章:

r - 如何在 R 中组合多个数据框列

javascript - 无法读取未定义的属性 'auth'

php - 将 HTML 页面保存为 .php?

javascript - 我可以在 jQuery 中的 'click' 和 'addClass' 之间添加延迟吗?

ruby - =~ 运算符的顺序重要吗?

c++ - 错误 : ambiguous overload for ‘operator==’

java - JPA CriterialBuilder.concat 强制使用 concat 函数

javascript - 传播运算符无法在 React as {...this.state.attributes} 中工作

mysql - 什么是更好的选择? IN 运算符或 EXISTS

string - 连接整数变量最惯用的方法是什么?