javascript 字符串和数字变量

标签 javascript converter string-concatenation operator-precedence

以下计算结果是什么?

"1"+2+4

这个怎么样:

5 + 4 + "3"

在第一种情况下,因为"1" 是一个字符串,所以一切都是字符串,所以结果是"124"。在第二种情况下,它是 93。这里发生了什么?为什么加法发生在一个实例中,而字符串连接发生在另一个实例中?

var x = "1" + 2 + 4;
var z = 5 + 4 + "3";
console.log(x); // "124"
console.log(z); // 93 

谁能解释一下?

最佳答案

表达式从左到右求值。

"1"+2+3
 ^--^
"12" //string  +3
  ^_____________^
 "123"  //string

第二种情况

 1+2+"3"
 ^_^
  3+"3"
  ^___^
  "33" // string

关于javascript 字符串和数字变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14700479/

相关文章:

c - 是否有任何函数可以将字符作为字符串前缀并存储在同一个字符串中?

javascript - 在特定条件下更改页面(在当前页面显示之前)

javascript - RegExp 读取 txt 和过滤并且只读取第一个匹配项

wcf - WCF:在哪一层将POCO实体转换为DTO?

.net - 在 Newtonsoft JSON 中,如何退回到默认转换行为/暂时禁用 JSON 转换器

jsf - 如何在 JSF 2 中创建自定义转换器?

javascript - jQuery - 如果不存在则将更改事件附加到输入元素

javascript - 在选择下拉列表中选择特定选项时添加输入框

Java 将参数传递给 Python 脚本

c++ - 原语的二元运算符重载字符串类