Js中的数据类型一共有六种,即number,string,boolean,underfine,null,object。
通常,我们判断变量的数据类型会用到typeof()方法。
数据的转换分为显式类型转换和隐式类型转换,我们经常用到的是将变量转换成字符串或数字。
一:显式类型转换:
1.转换成字符串时:
toString()
1 var str= abc; 2 alert(str.toString());
2.转换成数字时:
(1)parseInt() 转换成整数,parseFloat()转换成浮点数。例:
1 var test = parseInt(“blue”); //returns NaN 2 3 var test = parseInt(“1234blue”); //returns 1234 4 5 var test = parseInt(“22.5”); //returns 22 6 7 var test = parseFloat(“1234blue”); //returns 1234 8 9 var test = parseFloat(“22.5”); //returns 22.5
(2)Number() ;
例:Number("678")的结果为678
3.转换为布尔型:
Boolean() ;
例:Boolean("aaa")的结果为true
二:隐式类型转换:
1.把数字转为字符串:
num+‘‘:
1 var num = 1.23456; 2 alert(typeof (num+‘‘)); //string
2.字符串转换成数字:
(1)(- * / % 都可以让string隐式转换成number.)例:
1 var str=‘14.7‘; 2 alert(str*1+2); //16.7
(2)++ -- 变成数字
3.转换为布尔型: ! 取反,把右边的数据类型转成布尔值。
三:有关数据转换方法的其他测试示例如下:
例 句 | 结 果 |
---|---|
parseInt(‘1234‘) | 1234 |
parseInt(‘1234.00‘) | 1234 |
parseInt(‘1234abc‘) | 1234 |
parseInt(‘abc1234‘) | undefined(转换失败) |
parseFloat(‘1234.123‘) | 1234.123 |
parseFloat(‘1234.123a‘) | 1234.123 |
parseFloat(‘a1234.123‘) | NaN |
Number(‘1234.123‘) | 1234.123 |
Number(‘1234.123aa‘) | NaN |
String(eval(‘12+10‘)) | 22 |
Boolean(‘0‘),Boolean(‘567‘),Boolean(567) | true |
Boolean(null),Boolean(false),Boolean(0),Boolean(‘‘),Boolean() | false |
this.toString() | [object] |
(typeof(this)).toString() | object |
eval(‘12+34‘) | 46 |
eval(‘12+34‘)+‘‘ | 46 |
eval(‘12+34‘)*1.0 | 46 |
typeof(eval(‘12+34‘)*1.0) | number |
typeof(eval(‘12+34‘)+‘‘) | string |
时间: 2024-10-16 23:58:40