【发布时间】:2015-10-04 02:47:29
【问题描述】:
为什么 JavaScript 会根据字符串的位置对字符串和整数的 plus 进行不同的计算?
一个例子:
console.log("1" + 2 + 3);
console.log(2 + 5 + "8");
第一行打印 123,第二行打印 78。
【问题讨论】:
-
第一个将整个内容转换为字符串。第二个开始将数字相加,直到它看到字符串,然后它将整个东西转换为字符串。
-
因为在javascript中
+既是加法操作数又是连接操作数,应用哪个取决于第一个值。 -
因为string+string仍然是字符串。将字符串安全地添加到 int 类型是不可能的,因此它强制第二个操作数与第一个操作数相同。
-
这里是关于javascript的问题wiki.theory.org/YourLanguageSucks
-
我将把它留在这里:xkcd.com/1537
标签: javascript string int