Mai*_*hak 3 javascript converter string-concatenation operator-precedence
以下评估的内容是什么?
"1"+2+4
Run Code Online (Sandbox Code Playgroud)
那这个呢:
5 + 4 + "3"
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,因为"1"是一个字符串,一切都是一个字符串,所以结果是"124".在第二种情况下,它93发生了什么?为什么在一个实例中发生添加,而在另一个实例中发生字符串连接?
var x = "1" + 2 + 4;
var z = 5 + 4 + "3";
console.log(x); // "124"
console.log(z); // 93
Run Code Online (Sandbox Code Playgroud)
有谁能解释一下?
表达式从左到右进行评估.
"1"+2+3
^--^
"12" //string +3
^_____________^
"123" //string
Run Code Online (Sandbox Code Playgroud)
在第二种情况下
1+2+"3"
^_^
3+"3"
^___^
"33" // string
Run Code Online (Sandbox Code Playgroud)