js的数据类型及类型转换

Posted 喵小娇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js的数据类型及类型转换相关的知识,希望对你有一定的参考价值。

Js中的数据类型一共有六种,即numberstringbooleanunderfinenullobject

通常,我们判断变量的数据类型会用到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

以上是关于js的数据类型及类型转换的主要内容,如果未能解决你的问题,请参考以下文章

Js特点,数据类型及转换

在代码片段中包含类型转换

js运算符及数据类型转换

JS的数据类型及转换(还是基础的东西)

js数据类型及方法

数据类型及转换