Number
isFiniter() 檢測傳入的的數值是否在無窮大和無窮小之間(有限數字或者是可轉換成有限數字)返回true,否則返回false。NaN返回false。
isFinite(Number.MAX_VALUE + Number.MAX_VALUE) //false isFinite(NaN) //false isFinite(10) //true
isNaN() 參數:任何數據類型值,檢測傳入的參數是否等於NAN,等於返回true,否則返回NaN
isNaN(NaN) //true isNaN(10) //false isNaN("10") //false isNaN("blue") //true
把非數值轉換為數值的3個函數
Number() 參數:任何數據類型
- true和false轉換為1和0
- null轉換為0,
- undefined轉換NaN
- 字符串
- 字符串只包含數字,轉換為10進制數 "123" -> 123 ,"079" -> 79(忽略前導零)
- 字符串中包含有效浮點值,返回對應的浮點數
- 字符串中包含有效十六進制格式,返回與之對應的10進制格式 "0xf" -> 15
- 字符串是空串返回0
- 其他格式返回NaN
parseInt() 參數1:字符串(必選) 參數2:轉換時使用幾進制(可選) 將字符串轉化為整型
parseInt會忽略字符串前面的空格和前導0,直到找到第一個非空格字符,如果第一個非空格字符不是數字或負號,就會返回NaN,所以parseInt對空字符串返回NaN,如果是數字就繼續解析,直到遇到非數字為止。
當解析小數時,會忽略小數點后面的。
var num1 = parseInt("123blue") //123 var num2 = parseInt("") //NaN var num3 = parseInt(22.5) //22 var num4 = parseInt("0xA") //10 (十六進制數解析) var num5 = parseInt("0x") //NaN (十六進制數解析)
由於上面的沒有指定第二個參數,就會按照16進制進行解析,
由於上面的最后一個沒有指定一二個參數,就會按照16進制進行解析
var num6 = parseInt("0x",10) //0 (十進制解析) var num7 = parseInt("10",2) //2 (二進制解析) var num8 = parseInt("10",8) //8 (八進制解析)
parseFloat() 參數:字符串 將有效的浮點格式字符串轉化成浮點型
由於parseFloat沒有第二個參數指定幾進制,因此parseFloat只解析10進制。當傳入的字符串包含可解析為整數的值(沒有小數點或小數點后為0)則返回整數。
var num = parseFloat("0xa") //0 var num = parseFloat("22.34.5") //22.34
String
toString()方法 數字,布爾值,對象,字符串都有toString方法,但null和undefined沒有, 調用會報錯。
多數情況下不用傳入參數,但當數值調用toString()方法可以傳遞一個參數:數值以幾進制的形式輸出。
var num = 10 num.toString() // "10" num.toString(2) // "1010" num.toString(8) // "12" num.toString(16) // "a" var arr = [123,true,haha] arr.toString() // "123,true,haha" var obj = {} // "[object Object]"
由於null和undefined調用toString會報錯,所以當不知道轉換的值是不是null或undefined時,可以使用String轉型函數。
String() 轉型函數 參數:任何類型值 ,將任何類型值轉換成字符串。
String函數遵循下列轉換規則
- 如果有toString方法,則調用toString方法,並返回結果。
- 如果是null,返回"null"
- 如果是undefined,返回"undefined"
Object
Object每個實例都具有下列屬性和方法
constructor : a.constructor 保存用於創建當前對象的函數
isPrototypeOf :a.isPrototypeOf(b)判斷對象a是否是對象b的原型,或者a是否在b的原型鏈上。
hasOwnProperty :a.hasOwnProperty("name") 判斷給定的屬性是否在當前對象的實例中(而不是實例的原型中)是返回true,否則false
propertyIsEnumerable :檢測傳入的屬性是否可以使用for-in枚舉
toString : 返回對象的字符串表示
valueOf :返回對象的原始值