javascript parseInt函式詳解

2021-07-10 03:07:00 字數 1326 閱讀 9374

全域性 parseint 函式的總結:

parseint(numstring, redix);

numstring 將要被轉換為int的字串。

注意點: 

1、可為數字或字串, 不管怎樣都會使用string(numstring)將其轉換成字串; 如: parseint(010); // 8  parseint("010"); // 10

2、如果numstring前後有空格,那麼將會忽略空格,如 " 23 ", 將會被解析成 "23";

3、如果numstring以數字開頭,字母結尾,解析的時候則會從字母的地方終止,並返回已解析的數字。

redix 要轉換的進製數,該值的範圍是 2 - 36。

注意點:

一、如果使用者指定了該值:

不管指定的值是數字還是字串,parseint底層會使用number對其進行轉換,

轉換後得到的值為0或者nan,都會忽略,仍使用預設值 10,否則判斷是否是否位於 2-36中,如果不是則返回nan。

如 parseint("31", 0)/parseint("31", "aaa") 等價於 parseint("31", 10)

二、如果未指定該值:

1、如果 numstring 以0x開頭,則該值的預設值是 16;

2、如果 numstring 以0開頭,ecmascript 3 環境該值預設為8,ecmascript 5已經禁止這種做法,該值預設為10,所以視執行環境而定。

最佳實踐: 使用parseint時指定redix引數總是有必要的,**可讀性強,程式穩定。

parseint("1", 0); // 1 等價於 parseint("1", 10)

parseint("1", "aaa"); // 1 等價於 parseint("1", 10)

parseint("2", 1); // nan ,進製解析異常

parseint("010"); // 8/10 視環境而定 string("010");// 8/10

parseint(010); // 8   string(010);// 8

parseint(0x10); // 16 string(0x10);// 16

parseint("0x10"); // 16  (string("0x10");// "0x10" ) 等價於 parseint("0x10", 16)// 16

parseint(" 23 "); // 23

parseint(" 23 abc"); // 23

parseint(" 23abc "); // 23

["1", "2", "3"].map(parseint); // ["1", nan, nan]

ngx process options函式詳解

ngx process options是初始化init cycle中的一些如 conf file,prefix,conf prefix等字段的功能,其方法的定義在src core nginx.c中,以下為詳細 主要功能是將ngx prefix,配置檔案的位置資訊,以及命令列引數的資訊初始化到cycl...

linux clock gettime函式詳解

注意 1.精確級別,納秒級別 原型long sys clock gettime clockid t which clock,struct timespec tp which clock引數解釋 clock realtime 系統實時時間,隨系統實時時間改變而改變,即從utc1970 1 1 0 0 ...

遞迴函式(詳例)

從函式棧的角度的運用 簡單的列印運用 includevoid function int n int main void function int n return 非空鍊錶的遞迴找最大值 lim findmax lim headptr 為了更好的理解遞迴的執行過程 在呼叫自生到最後時,if head...