javascript中的關于類型轉換的性能優(yōu)化
更新時間:2010年12月14日 21:47:33 作者:
類型轉換是大家常犯的錯誤,因為JavaScript是動態(tài)類型語言,你不能指定變量的類型。
1. 把數(shù)字轉換成字符串,應用"" + 1,雖然看起來比較丑一點,但事實上這個效率是最高的,性能上來說:("" + ) > String() > .toString() > new String(),盡量使用編譯時就能使用的內部操作要比運行時使用的用戶操作要快。String()屬于內部函數(shù),所以速度很快,而.toString()要查詢原型中的函數(shù),所以速度遜色一些,new String()用于返回一個精確的副本。
2. 浮點數(shù)轉換成整型,這個更容易出錯,很多人喜歡使用parseInt(),其實parseInt()是用于將字符串轉換成數(shù)字,而不是浮點數(shù)和整型之間的轉換,我們應該使用Math.floor()或者Math.round()。另外,和第二節(jié)的對象查找中的問題不一樣,Math是內部對象,所以Math.floor()其實并沒有多少查詢方法和調用的時間,速度是最快的。
3. 對于自定義的對象,如果定義了toString()方法來進行類型轉換的話,推薦顯式調用toString(),因為內部的操作在嘗試所有可能性之后,會嘗試對象的toString()方法嘗試能否轉化。
2. 浮點數(shù)轉換成整型,這個更容易出錯,很多人喜歡使用parseInt(),其實parseInt()是用于將字符串轉換成數(shù)字,而不是浮點數(shù)和整型之間的轉換,我們應該使用Math.floor()或者Math.round()。另外,和第二節(jié)的對象查找中的問題不一樣,Math是內部對象,所以Math.floor()其實并沒有多少查詢方法和調用的時間,速度是最快的。
3. 對于自定義的對象,如果定義了toString()方法來進行類型轉換的話,推薦顯式調用toString(),因為內部的操作在嘗試所有可能性之后,會嘗試對象的toString()方法嘗試能否轉化。
相關文章
JavaScript最完整的深淺拷貝實現(xiàn)方式詳解
這篇文章主要為大家詳細介紹了JavaScript最完整的深淺拷貝實現(xiàn)方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02
微信小程序 bindtap 事件多參數(shù)傳遞的代碼示例
在微信小程序中,我們無法直接通過 bindtap="handleClick(1,2,3)" 的方式傳遞參數(shù),而是通過自定義屬性data- 的方式傳遞,并在事件回調函數(shù)中通過event.currentTarget.dataset獲取這些參數(shù),本文給大家介紹小程序 bindtap 事件多參數(shù)傳遞的實例代碼,感興趣的朋友一起看看吧2023-12-12

