全域性 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...