您好,登錄后才能下訂單哦!
這篇文章主要介紹了JavaScript取整方法有哪些,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
1.parseInt()
// js內置函數,注意接受參數是string,所以調用該方法時存在類型轉換 parseInt("1.5555") // => 1
2. Number.toFixed(0)
// 注意toFixed返回的字符串,若想獲得整數還需要做類型轉換 1.5555.toFixed(0) // => "1"
3. Math.ceil()
// 向上取整 Math.ceil(1.5555) // => 2
4. Math.floor()
// 向下取整 Math.floor(1.5555) // => 1
5. Math.round()
// 四舍五入取整 Math.round(1.5555) // => 2 Math.round(1.4999) // => 1
6. Math.trunc()
// 舍棄小數取整 Math.trunc(1.5555) // => 1
7. 雙按位非取整
// 利用位運算取整,僅支持32位有符號整型數,小數位會舍棄,下同 ~~1.5555 // => 1
8. 按位運或取整
1.5555 | 0 // => 1
9. 按位異或取整
1.5555^0 // => 1
10. 左移0位取整
1.5555<<0 // => 1
上述10種取整方法中,最常用的估計是前2種 [我裂開了~~],不過從性能角度看,位運算取整和Math函數性能最佳,內置方法parseInt次之,toFixed性能最劣。
以下是Benchmark測試結果,證明了這點,toFixed性能是最差的:
darwin x64 整數取整#getNum1#parseInt x 210,252,532 ops/sec ±2.74% (85 runs sampled) 整數取整#getNum2#toFixed x 3,281,188 ops/sec ±1.54% (86 runs sampled) 整數取整#getNum3#Math.ceil x 778,272,700 ops/sec ±3.97% (87 runs sampled) 整數取整#getNum4#Math.floor x 816,990,140 ops/sec ±0.54% (88 runs sampled) 整數取整#getNum5#Math.round x 814,868,414 ops/sec ±0.65% (88 runs sampled) 整數取整#getNum6#Math.trunc x 821,032,596 ops/sec ±0.54% (91 runs sampled) 整數取整#getNum7#~~num x 813,589,741 ops/sec ±0.67% (90 runs sampled) 整數取整#getNum8#num | 0 x 815,070,107 ops/sec ±0.65% (90 runs sampled) 整數取整#getNum9#num ^ 0 x 812,635,464 ops/sec ±0.74% (90 runs sampled) 整數取整#getNum10#num << 0 x 819,230,753 ops/sec ±0.49% (91 runs sampled) Fastest is 整數取整#getNum6#Math.trunc,整數取整#getNum10#num << 0
Benchmark源代碼
感謝你能夠認真閱讀完這篇文章,希望小編分享JavaScript取整方法有哪些內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。