猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
为什么js运算符"+"?
为什么 +'11'可以转化成数字11,
而 1 + '11' 结果却是 '111' 字符串?
当年话下
浏览 547
回答 1
1回答
MMTTMM
由于在 ES6 之前就是这样的答案,所以本答案从 ES5 中获取。+'11'答案来源:ECMAScript5.1 11.4.6一元 + 操作将其操作值转换为数字,别问为什么,规范上定义的。1 + '11'答案来源:ECMAScript5.1 11.6.1加法操作的步骤:将左右两值先转换为元类型(如字符串、数字);比如布尔会转为数字,对象通常情况转为字符串等;加起来若左值或右值转换后的值任一为字符串,则将两边的值都转为字符串作拼接操作;否则,将左值和右值都转为数字,然后对数字作加法操作;(如布尔型转换元类型就不是字符串,而仍然是布尔,所以在这里判断走该分支,则将布尔转为数字 1 或 0)返回结果。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续