ECMAScript中有五种基本数据类型:Undefined
, Null
, Boolean
, Number
, String
,一种复杂数据类型:Object
数据类型检测方法
typeof
函数,例:
1 2
| var s = xx; var res = typeof(s);
|
返回结果=typeof(res) |
意义 |
typeof(res) === “undefined” |
值未定义 |
typeof(res) === “boolean” |
值为布尔类型 |
typeof(res) === “string” |
值是字符串 |
typeof(res) === “number” |
值为数值 |
typeof(res) === “object” |
值是对象或null |
typeof(res) === “function” |
值是函数 |
Boolean类型转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| # Boolean Boolean(true) == true Boolean(false) == false
# String Boolean("") == false Boolean("ad") == true
# Number Boolean(0) == false Boolean(NaN) == false Boolean(10) == true
# Object Boolean({}) == ture Boolean(null) = false
# Undefined Boolean(undefined) == false
|
数值类型转换
Number()
, parseInt()
和 parseFloat()
,第一个函数可以用于任何数量类型,而另外两个函数则专门用于把字符串转换成数值
参数 |
Number() |
parseInt(); parseInt(“xx”, [8 10 16]) |
true |
Number(ture) === 1 |
parseInt(true) === NaN(isNaN) |
false |
Number(false) === 0 |
parseInt(false) === NaN(isNaN) |
13 |
Number(13) === 13 |
parseInt(13) === 13 |
null |
Number(null) === 0 |
parseInt(null) === NaN(isNaN) |
undefined |
Number(undefined) === NaN(isNaN) |
parseInt(undefined) === NaN(isNaN) |
“234” |
Number(“234”) === 234 |
parseInt(“234”) === 234 |
“1.1” |
Number(“1.1”) === 1.1 |
parseInt(“1.1”) === 1 |
“070” |
Number(“070”) === 70 |
parseInt(“070”) = 70; parseInt(“070”, 8) = 56 |
“0xf” |
Number(“0xf”) === 15 |
parseInt(“0xf”) === 15 |
“” |
Number(“”) === 0 |
parseInt(“”) === NaN(isNaN) |
“123abc” |
Number(“123abc”) === NaN(isNaN) |
parseInt(“123abc”) === 123 |
Number()函数,如果参数是对象,则调用对象的valueOf()方法,然后依照前面的规则进行转换,如果结果是NaN,则调用对象的 toString()方法,然后依照前面的规则进行转换
字符串类型转换
1 2 3 4
| String(10) === "10" String(true) === "true" String(null) === "null" String(undefined) === "undefined"
|