parseint()
作用是將引數(通常為字串)強制轉換為整數。
它有兩個引數,第二個可以省略,我們先展示常見的用法
1. 轉換規則:依次將字串中從左到右的數字部分轉為整數,一旦轉換失敗,返回nan。
(1) 引數是字串型別:
var a = parseint(『10』); //將字串轉成整數型別
console.log(a); //
10var b = parrseint(『10true』); //
將有效數字部分轉為整數,提取開頭數字部分
console.log(b); //
10var c = parseint(『10true20』); //
只將開頭有效部分轉為整數
console.log(c); //
10var d = parseint(『045zoo』); //
開頭部分轉為整數,數字前面的0省略
console.log(d); //
45var f = parseint(『34.5』); //
整數部分,小數點非數字部分,捨去
console.log(f); //
34var g = parseint(『a3』); //
若不是以數字開頭,轉為nan(not a number 不是數字)的特殊數值
console.log(g); //
nan
(2) 引數是數字型別:
var a = parseint(3.4); //依然轉為數字,但是取整
console.log(a); //
3
(3) 其它資料型別:只要開頭不包含有效數字,結果都轉為nan
var a = parseint(true); console.log(a);
//nan
var b = parseint(null
); console.log(b);
//nan
var c =parseint(undefined);
console.log(c);
//nan
var d =parseint();
console.log(d);
//nan
var e =parseint({});
console.log(e);
//nan
接下來,我們看第二個引數的用法
第二個引數:表示進製,範圍2~36(用來說明第乙個引數的進製規則)
var a = parseint(『99』,10); //如果字串為十進位制內容,該引數可省略
console.log(a); //
99var a = parseint(『1001』,2); //
『1001』 符合二進位制規則, 轉為十進位制整數
console.log(a); //
9var a = parseint(『1001』,10); //
『1001』同樣符合十進位制, 轉為十進位制整數
console.log(a); //
1001
var b = parseint(『234』,2); //
『234』不符合二進位制的規則
console.log(b); //
nanvar b = parseint(『abcde』,2); //
『abcde』不符合二進位制的規則
console.log(b); //
nanvar c = parseint(『1022』,2); //
『10』部分屬於二進位制,但『22』不是,將開頭有效的部分提取並轉成十進位制
console.log(c); //
2
如果以0x或0x開頭,即使不說明進製規則,也能識別
var e = parrseint(『0xa』); //0x是十六進製制的表示方法,a是十六進製制中的10,轉換成整數後自動切換為十進位制
console.log(e); //
10
盡量不使用出現e的數字,由於只能識別開頭部分,會造成結果混亂
此時應使用parsefloat方法替代
parseint("6.022e23", 10); //返回 6
parseint(6.022e2, 10); //
返回 602
非常大或非常小的數字
parseint(4.7 * 1e22, 10); //非常大的數值變成 4
parseint(0.00000000000434, 10); //
非常小的數值變成 4
在最新的es5規範中,以0開頭的數字,已經不能再被識別為八進位制了。
parseint("011"); //會當成10進製轉換為 11
parseint("011", 8) //
指定了8進製,結果為 9
總結:
以上測試均來自最新版的chrome瀏覽器,並不能確保所有瀏覽器行為一致。為了保證開發中不出現意外,建議使用parseint方法時,一律帶上第二個引數!
一切關於相容
1 不同瀏覽器的標籤預設的外補丁和內補丁不同 解決 2 塊屬性標籤float後,又有橫行的margin情況下,在ie6顯示margin比設定的大 解決 在float的標籤樣式控制中加入 display inline 將其轉化為行內屬性 3 設定較小高度標籤 一般小於10px 在ie6,ie7,遨遊中...
關於負載均衡的一切
什麼是負載均衡?負載均衡 load balance 是分布式系統架構設計中必須考慮的因素之一,它通常是指,將請求 資料均勻分攤到多個操作單元上執行,負載均衡的關鍵在於均勻。常見的負載均衡方案有哪些?常見網際網路分布式架構如上,分為 客戶端層 反向 層 站點層 服務層 資料層 可以看到,每乙個下游都有...
iOS 關於View的一切
ios 關於view的一切 1 view view物件是uiview類的例項,用來展示視覺化的內容。檢視物件定義了乙個矩形區域,並且負責該區域內容的繪製 事件的處理及子檢視的布局。每個view物件都對應乙個layer物件,layer物件是calayer的例項,該物件管理著檢視的後台儲存 處理與檢視相...