僅針對字串轉換規則:
1. 忽略字串前面的空格,直到找到第乙個非空格符
2. 如果第乙個字元不是數字或負號,返回 nan
parseint("") => nan
3. 如果第乙個字元是數字字元,繼續解析第二個字元,直到解析完所有後續字元或遇到乙個非數字字元
parseint("9527great") => 9527
parseint("11.4") => 11
4. 可以識別出各種整數字元(十進位制、八進位制、十六進製制)
parseint("0xa") => 10
parseint("070") => 56
在解析八進位制時,es3 和 es5 存在分歧,為消除不必要的麻煩,建議傳入第二個引數以表示轉換時使用的基數(即進製數)
parseint("070", 8) => 56 // 當作八進位制數來解析
parseint("070", 10) => 70 // 當作十進位制數來解析
僅針對字串轉換規則:
1. 忽略字串前面的空格,直到找到第乙個非空格符
2. 如果第乙個字元不是數字或負號,返回 nan
parsefloat("") => nan
3. 從位置 0 開始解析每個字元,一直解析到字串末尾,或解析遇到乙個無效的浮點數字元為止
parsefloat("9527.23great") => 9527.23
4. 第乙個小數點有效,第二個小數點無效
parsefloat("22.34.56") => 22.34
5. 始終會忽略前導的 0
parsefloat("0729.4") => 729.4
6. 只解析十進位制整數格式
無第二個引數指定基數的用法
十六進製制格式的字串始終會被解析成 0
parsefloat("0xf") => 0
parsefloat("3.12e7") => 31200000
等價於 number(x)
等價於 string(x)
等價於 boolean(x)值
轉換為字串
數字布林值
物件undefined
"undefined"
nanfalse
throws typeerror
null
"null"
0false
throws typeerror
true
"true"
1new boolean(true)
false
"false"
0new boolean(false)""0
false
new string("")
"1.2"
1.2true
new string("1.2")
"one"
nantrue
new string("one")
0"0"
false
new number(0)
-0"0"
false
new number(-0)
nan"nan"
false
number(nan)
infinity
"infinity"
true
new number(infinity)
-infinity
"-infinity"
true
new number(-infinity)
1"1"
true
new number(1)
{}(任意物件)
true
(任意陣列)""0
true
[9](1個數字元素)
"9"9
true
["a"](其他陣列)
使用 join() 方法
nantrue
function(){}(任意函式)
nantrue
JavaScript型別轉換
方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not a number ...
javascript 型別轉換
var num number true console.log typeof num num 結果 number 1 var num number false console.log typeof num num 結果 number 0 var num number null console.log...
javascript資料型別轉換
isnan 判斷是否不是乙個有效數字,是有效數字返回false,否則返回true isnan 會隱式呼叫number 方法,把值轉強制換成數字資料型別 非強制轉換成數字 parseint 從左到右查詢數字,遇到非數字就停止 parsefloat 比parseint多識別乙個小數點 string 轉換...