node.js - parseInt 和一元加运算,具体什么时候该用哪个的问题
大家讲道理
大家讲道理 2017-04-17 11:20:27
0
2
716
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 而不是一元加运算?希望大牛能讲一下其中的区别和原理。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
左手右手慢动作

parseInt可以用來做進位轉換。

舉一個應用的例子: iconfont

很多產生iconfont的網站,在產生iconfont的同時會附帶16進位的字體編碼,例如 'e800'
如果你不想用before偽元素來顯示字體,可以直接在標籤內輸出轉換後的字體編碼。

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

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

一元加可以連接字串個和進行型別轉換。

左手右手慢动作

其實他們都是將字串轉換成整數型,第二種之所以快,是因為他直接進行位元操作。而parseInt不是,我個人覺得本質上是沒什麼區別的,而且我更傾向於使用第二種方法進行整形轉換。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板