标签:
一、转型函数Boolean()
ECMAScript中所有类型的值都有与Boolean值(true和false)等价的值。要将一个值转换为其对应的Boolean值,可以调用转型函数Boolean()
数据类型 | 转换为true的值 | 转换为false 的值 |
Boolean | true | false |
String | 任何非空字符串 | "" (空字符串) |
Number | 任何非零数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | 不适用 | undefined |
Boolean(null);//false Boolean(undefined);//false Boolean("");//false Boolean(0);//false Boolean({});//true
用Boolean转换空格字符串,也会转换为true
二、数值转换
有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()
转型函数Number()可以用于任何数据类型,其他两个专门用于把字符串转换为数值
1、转型函数Number()
Number()函数的转换规则:
(1)如是布尔值,true转换为1,false转换为0
(2)如是null,返回0
(3)如是undefined,返回NaN
(4)如是字符串,规则:
(5)如果是对象,调用对象的valueOf()方法,再依照前面的规则转换返回的值,如果转换结果为NaN,调用对象的toString()方法,再依照前面的规则转换
console.log(Number("ad12"));//NaN console.log(Number("12ad"));//NaN console.log(Number("12"));//12 console.log(Number("2.1w"));//NaN console.log(Number(""));//0 console.log(Number(true));//1 console.log(Number());//0 console.log(Number(null));//0 console.log(Number(undefined));//NaN console.log(Number(" "));//0 console.log(Number(""));//0 console.log(Number("0xf"));//15 console.log(Number("070"));//70
2、parseInt()函数
规则:
(1)忽略字符串前面的空格,直到找到第一个非空格字符,如果第一个字符不是数字或者负号,会返回NaN,用parseInt()转换空字符串会返回NaN
(2)如果字符串以“ox”开头,且后跟数字字符,会当作一个十六进制整数
(3)第二个参数表示转换时使用的基数(多少进制)
console.log(parseInt(""));//NaN console.log(parseInt());//NaN console.log(parseInt(true));//NaN console.log(parseInt("0x10"));//16 console.log(parseInt("0xf"));//15 console.log(parseInt("070"));//70 console.log(parseInt("22.7"));//22 console.log(parseInt("22.7.9"));//22 console.log(parseInt("AF",16));//175 console.log(parseInt("10",2));//2 console.log(parseInt("10",8));//8 console.log(parseInt("10",16));//16 console.log(parseInt("10qq"));//10
3、parseFloat()函数
与parseInt()函数类似,也是从第一个字符开始解析每个字符,一直解析到字符串末尾,或解析到遇到一个无效的浮点数字字符为止。
字符串中的第一个小数点是有效的,第二个小数点就无效了
只能解析十进制数,没有第二个参数
console.log(parseFloat("10qq"));//10 console.log(parseFloat("0xAF"));//0 console.log(parseFloat("23.1.4"));//23.1
三、字符串转换
1、toString()方法
返回相应值的字符串表现
数值、布尔值、对象和字符串值都有toString()方法。但null和undefined没有这个方法
可以传递一个参数:输出数值的基数。通过传递参数,可以输出二进制、八进制、十六进制及其他有效进制格式表示的字符串值
var age=11; console.log(age.toString());//"11" var b1=true; console.log(b1.toString());//"true" var num=10; console.log(num.toString());//"10" console.log(num.toString(2));//"1010" console.log(num.toString(8));//"12" console.log(num.toString(10));//"10" console.log(num.toString(16));//"a"
2、String()函数
遵循规则:
(1)如果值有toString()方法,则调用这个方法
(2)如果值是null,则返回"null"
(3)如果值是undefined,则返回"undefined"
var value1=10; var value2=true; var value3=null; var value4; console.log(String(value1));//"10" console.log(String(value2));//"true" console.log(String(value3));//"null" console.log(String(value4));//"undefined"
标签:
原文地址:http://www.cnblogs.com/aimee2004/p/5149489.html