首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript类型强制偏好

JavaScript类型强制偏好
EN

Stack Overflow用户
提问于 2013-11-10 15:23:59
回答 2查看 716关注 0票数 1

我试图理解javascript的核心工作原理。我偶然发现的一件事是,当我这样做时

代码语言:javascript
复制
1 + "2"

它返回"12".But,也可能是3。我推断这可能是因为数字总是可以转换为字符串,而不是字符串转换为数字。

我还注意到

代码语言:javascript
复制
100 + true = 101.

在这里,deduction works.the布尔值也被转换为一个数字。但是数据类型转换到底是如何工作的呢?

EN

回答 2

Stack Overflow用户

发布于 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,因为这两个基本上是整数。

票数 2
EN

Stack Overflow用户

发布于 2014-02-28 01:55:38

JavaScript中的+运算符有两种用途。第一个是相加,第二个是连接。只有当两个都是数字时,JavaScript才会加法。其他任何内容都将连接在一起。这实际上是JavaScript中的一个错误,还没有得到纠正。在比较中,JavaScript只会将字符串转换为数字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19887286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档