我试图理解javascript的核心工作原理。我偶然发现的一件事是,当我这样做时
1 + "2"它返回"12".But,也可能是3。我推断这可能是因为数字总是可以转换为字符串,而不是字符串转换为数字。
我还注意到
100 + true = 101.在这里,deduction works.the布尔值也被转换为一个数字。但是数据类型转换到底是如何工作的呢?
发布于 2013-11-10 16:09:49
你应该看看这篇文章https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals。很容易理解javascript是如何工作的。
在第一个示例中,如果要对两个值求和,1 + "2"将返回12,因为javascript会将整数和字符串合并在一起。但是如果你想做sum 1+2 = 3,因为两个值都是整数。如果两个值是字符串和整数,则整数值会自动转换为字符串。
在第二个例子中,100 + true = 101. 100是整数,然后是true =1,然后是100+1 =101,因为这两个基本上是整数。
发布于 2014-02-28 01:55:38
JavaScript中的+运算符有两种用途。第一个是相加,第二个是连接。只有当两个都是数字时,JavaScript才会加法。其他任何内容都将连接在一起。这实际上是JavaScript中的一个错误,还没有得到纠正。在比较中,JavaScript只会将字符串转换为数字。
https://stackoverflow.com/questions/19887286
复制相似问题