javascript - 请问一下, js中为什么 +"5" =5(number)?
PHP中文网
PHP中文网 2017-04-11 12:23:26
[JavaScript讨论组]

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(7)
阿神

这是一个典型的JS数据类型隐式转换问题:示例

console.log("1"*2);//12
console.log("1"/2);//0.5
console.log("1a"/2);//NaN
console.log(1+"5"); // 15
console.log("5"); // 5
console.log(1-"5"); // -4
console.log("5"-1); // 4

console.log(+"5"); // 5
console.log(-"5"); // -5

不同类型的隐式转换是有优先级的,比如上述的数字和字符串的乘除法,减法,会将字符串转换为数字。
比如数字和字符串的加法,会将数字转换为字符串。

+,-号配上字符串,则会直接转为数字。

这些都是JS基础知识~

高洛峰

一元+操作符对非数值自动执行Number()

高洛峰

+号可以类型转换

PHP中文网

此处涉及javascript中类型转换规则,建议楼主仔细阅读《Javascript高级程序设计》第三章-加性操作符。

伊谢尔伦

你想啊,什么类型前边才可以有正号+,只有数的,不是数怎么办,看看能不能变成数,可以变成,搜嘎!得到数字5,妥妥的

大家讲道理

伊谢尔伦

+号和-号都会试图转换数据为数字,跟1+""一个意思

建议看下《JavaScript高级程序设计》

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号