JS 数据类型转换

概述
Javascript中可以使用下面函数将数据类型转换成布尔型、数字型和字符串型
1.Boolean
其用途为把值转换成Boolean类型。如果要转换的值value为“至少有一个字符的字符串”“非0的数字”或“对象”,那么Boolean()将返回true;如果要转换的value为“空字符串”“数字0”、undefined、null,那么Boolean()将返回false。
语法格式为: Boolean(value);
2.Number
Number() 函数的作用是:将给定的对象参数转换为数字。 如果该值不能转换为数字,则返回 NaN。 如果参数是Date对象,则Number()函数返回自UTC 1970年1月1日午夜以来的毫秒数。
语法格式为: Number(object);
3.String
String()函数的作用是:将对象的值转换为字符串。 String()函数返回的值与各个对象的toString()相同。
语法格式为: String(object);
4.parseInt
其用途为解析一个字符并返回一个整数,其中string是需要被解析的字符,是必须的参数,而radix是被解析数字的基数,是非必需的,当radix值设置为0或未设置时,parseInt会根据string的值来判断基数。 如果string以"0x"开头,会转化为十六进制整数 如果string以1~9开头,会转化为十进制整数 如果string以0后接数字开头,会转化为八进制整数 如果string以无效字符(不包括空格)开头,会返回NaN,而不进行其他操作
语法格式为: parseInt(string s,int radix); 1) 只有字符串中第一个字符会返回,而如果中间遇到空格等无效字符则解析终止 2) 开头和结尾的空格是允许的(只要是数字字符前的空格均被允许) 3) parseInt在未指定基数时会以字符开头来判断基数,而如果想要得到预期基数的整数就需要在string后设置radix值来控制转化的进制数
5.parseFloat
parseFloat函数可解析一个字符串并返回一个浮点数。解析数字时只对第一个小数点有效,之后的小数点会被当作无效字符,如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。 除了第一个小数点有效之外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导的零。parseFloat()可以识别前面讨论过的所有的浮点数值格式,也包括十进制整数格式。但十六进制格式的字符串则始终会被转换成0。由于parseFloat()只解析十进制值,因此它没有用第二个参数指定基数的用法。
语法格式为: parseFloat(string s); 1) 函数只返回字符串中第一个数字字符 2) 开头和结尾空格是允许的(只要是数字字符前的空格均被允许) 3) 如果字符串的第一个字符不能被转化为数字,则parseFloat()会返回NaN
6.toFixed
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法格式为: NumberObject.toFixed(num); num参数必需,规定小数的位数,是0 ~ 20之间的值,包括0和20,有些实现可以支持更大的数值范围。如果省略了该参数,将用0代替。 在IE下和FireFox下对于小数的进位有点不同。例如(0.005)在IE下toFix(2)=0.00,在FireFox下toFix(2)=0.01。
7.toString
toString() 函数的作用是把一个逻辑值转换为字符串,并返回结果。
语法格式为: Object.toString(int radix); //当Number时radix有效 toString()函数与valueOf()详细资料 在JavaScript中,Number、Object、Array、Function、Date等类型都实现了自定义的toString()函数。 1.Number对象的toString方法返回指定 Number 对象的字符串表示形式。其toString方法可以传递一个参数radix,这个参数的值得取值范围为(2到36)表示进行toString时候所选用的进制,默认情况下选用10进制,如果radix的值不在2到36之间的话,则会抛出一个异常。 2.Object类型数据的toString() 函数默认的返回结果是 "[object Object]",当我们自定义新的类时,可以重写 toString() 函数,返回可读性更高的结果。 3.Array的toString() 函数返回值为以逗号分隔构成的数组成员字符串。数组也是对象,那么为什么数组返回的是对应的字符串而不是对象,其实数组覆盖了Object.toString方法,然后将连接数组并返回一个字符串,其中包含用逗号分隔的每个数组元素(相当于Array.join())。 4.Function的toString() 函数返回值为函数的文本定义。 5.Date的toString() 函数返回值为具有可读性的时间字符串。
8.valueOf
valueOf()函数的作用是返回最适合引用类型的原始值,如果没有原始值,则会返回引用类型自身。
语法格式为: Object.valueOf(); toString()函数与valueOf()详细资料 在JavaScript中,Number、Object、Array、Function、Date等类型都实现了自定义的toString()函数。 1.Number 类型的 toString() 方法可以接收转换基数,返回不同进制的字符串形式的数值;而 valueOf()方 法无法接受转换基数。 2.Object 类型数据的valueOf()函数默认的返回结果是"{}",即一个空的对象字面量。 3.Array 的valueOf()函数返回的是数组本身 4.function 的valueOf()函数返回的是函数本身 5.Date 的valueOf()函数返回的是指定日期的时间戳