国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS字符串轉數字方法總結

call_me_R / 2519人閱讀

摘要:字符串中的負十六進制數字是一個特殊情況,如果你用解析,結果是不正確的。按位非可以把字符串轉換成整數,但他不是浮點數。如果是一個字符串轉換,它將返回這是什么原理通過翻轉每個位,也稱為數字的補碼。

String轉換為Number有很多種方式,我可以想到的有5種!但總有一些情況讓人猝不及防,總結到這里供自己日后查找方便
parseInt

根據JsPerf.com的基準測試,大多數瀏覽器對parseInt的響應最佳。雖然它是最快的方式,但使用preseInt會碰到一些常見陷阱:parseInt: 沒有傳入基數時,默認是傳入的基數為10 parseInt(num, 10),如果你不知道num屬性的類型,不要使用parseInt進行字符串轉數字。

parseInt("043") // returns 0 部分老瀏覽器.
parseInt("20.mp4") // returns 20

parseFloat

如果你不解析16進制數,這是一個非常好的選擇。字符串中的負十六進制數字是一個特殊情況,如果你用parseFloat解析,結果是不正確的。為了避免程序出現NaN的情況,應該檢查轉化后的值。

parseInt(-0xFF) // returns -255
parseInt("-0xFF") // returns -255
parseFloat(-0xFF) // returns -255
parseFloat("-0xFF") // returns 0
parseFloat("44.jpg") // return 44
按位非

可以把字符串轉換成整數,但他不是浮點數。如果是一個字符串轉換,它將返回0;這是什么原理?通過翻轉)每個位,也稱為數字的A1補碼。你可以使用它,但注意只能用來存儲整數。所以通常情況不要用它,除非你能確定這個數是在32位整數之間的值(因為調用的ToInt32的規范)。 按位非:用它確保輸入中沒有字符,僅用于整數。

~~1.23 // returns 1
~~"1.23" // returns 1
~~"23" // returns 23
~~"Hello world" // returns 0

Number

Number與以上提及的轉換方式一樣存在這樣的問題,解析時試圖找出你給他的數字:注意:023實際上是一個八進制數,無論你怎么做,都是返回19;對于沒有單引號或雙引號的十六進制數一樣。Number也是JsPerf中最慢的之一。

Number("023") // returns 23
Number(023) // returns 19
一元云算符
"1.23" * 1 // returns 1.23
"0xFF" - 0 // returns 255
"0xFF.jpg" / 1 // returns NaN
+"023" // returns 23

一元運算符與其它的解析方式不同,如果是一個NaN值,那么返回的也是NaN 。這是我最喜歡的數值轉換方式,因為我認為任何帶有字符的對象都不應該被視為0或者根據他有多少位來“猜”。我基本使用 + 操作符,因為這個方式不容易混淆。雖然 -0 的用法也很好,但它并沒有很好的表達轉換為數字的本意。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96018.html

相關文章

  • 進擊的 JavaScript(一) 之 類型

    摘要:實際上,我們通常認為是自有類型的唯一成員。比較運算符的操作數可能是任意類型。結果只有,例得到操作值等價的布爾值真值為,假值為等同于,經常稱為強制轉換。結果返回布爾值的用法是中唯一一個不等于任何值的包括它自己。 說起 js 類型轉換,都是頭疼吧,暈暈的,但是不行啊,這東西很重要滴! 基礎知識 JavaScript的數據類型分為六種,分別為null, undefined, boolean,...

    Scholer 評論0 收藏0
  • 前端總結

    摘要:是一個雙目運算符內部實現機制是通過原型鏈來判斷能自定義行為的東西三類型轉換轉除了其他所有值都轉為包括所有對象對象轉原始類型對象在轉換類型的時候,會調用內置的函數該方法在轉原始類型時調用優先級最高。 JS基礎知識 (一)JS中原始類型(1)原始值有六種:boolean,null,undefined,number,string,symbol(2)原始類型存儲的都是值,沒有函數可以調用,能夠...

    Jenny_Tong 評論0 收藏0
  • 前端總結

    摘要:是一個雙目運算符內部實現機制是通過原型鏈來判斷能自定義行為的東西三類型轉換轉除了其他所有值都轉為包括所有對象對象轉原始類型對象在轉換類型的時候,會調用內置的函數該方法在轉原始類型時調用優先級最高。 JS基礎知識 (一)JS中原始類型(1)原始值有六種:boolean,null,undefined,number,string,symbol(2)原始類型存儲的都是值,沒有函數可以調用,能夠...

    bladefury 評論0 收藏0
  • 前端總結

    摘要:是一個雙目運算符內部實現機制是通過原型鏈來判斷能自定義行為的東西三類型轉換轉除了其他所有值都轉為包括所有對象對象轉原始類型對象在轉換類型的時候,會調用內置的函數該方法在轉原始類型時調用優先級最高。 JS基礎知識 (一)JS中原始類型(1)原始值有六種:boolean,null,undefined,number,string,symbol(2)原始類型存儲的都是值,沒有函數可以調用,能夠...

    Zoom 評論0 收藏0
  • JS總結篇--[]JS學習總結-技巧、方法、細節

    摘要:變量轉換類型類型類型類型類型但是轉換日期和正則表達式必須使用構造函數,創建正則表達式的時候要使用這樣的簡化形式。 變量轉換 var myVar = 3.14159, str = + myVar,// string類型 int = ~~myVar, // number類型 float = 1*myVar, // number類型 bool = !!myVar, // bo...

    wizChen 評論0 收藏0

發表評論

0條評論

call_me_R

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<