在javascript中输入转换问题

时间:2015-03-05 12:25:08

标签: javascript

当我想要做的时候

console.log("100" * null) // (1)
console.log("100" + null) // (2)

它给我的结果" 0"和" 100null"我只是想知道在这种情况下如何运行javascript类型转换。

1 个答案:

答案 0 :(得分:1)

在第一种情况下"100"转换为100,因为*是一个作用于Numbers的数学运算符。

所有操作数都转换为数字

(+"100") * (+null) // +null = 0; 100 * 0 = 0

并且在第二种情况下,+不被视为数学运算符,而是作为连接运算符(由于第一个操作数是String)

因为调用它的内部null方法,所以ToString会转换为它的字符串表示形式,所以它只是连接("100" + "null" })