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 :返回对象的原始值