素材牛VIP会员
parseInt 和一元加运算,具体什么时候该用哪个的问题
 yu***01  分类:Node.js  人气:620  回帖:2  发布于6年前 收藏
1. var x = parseInt("1", 10); // x === 1

2. var x = +"1"; // x === 1

我不知道上面两条的区别在哪里,但浏览器测试会发现,一元运算符明显要更快。再试一下,如果是字符串转换(不是数字),两个都会返回 NaN:

1. var y = parseInt("test" 10); // y === NaN

2. var y = +"test"; // y === NaN

所以在 Node.js 中,什么时候该用 parseInt 而不是一元加运算?希望大牛能讲一下其中的区别和原理。

 标签:node.js

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv2 入门
麦***气 JAVA开发工程师 6年前#1

其实他们都是将字符串转换成整型,第二种之所以快,是因为他直接进行位操作。而parseInt不是,我个人觉得本质上是没什么区别的,而且我更倾向使用第二种方法进行整形转换。

Lv6 码匠
请***g JAVA开发工程师 6年前#2

parseInt可以用来做进制转换。

举一个应用的例子: iconfont

很多生成iconfont的网站,在生成iconfont的同时会附带16进制的字体编码,比如 '\e800'
如果你不想用before伪元素来显示字体,可以直接在标签内输出转换后的字体编码。

    String.fromCharCode(parseInt('\e800',16).toString(10))

就得到了真正的字体:""

一元加可以连接字符串个和进行类型转换。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取