您的位置:首页 > Web前端 > JavaScript

JS——数据类型转换,判断数据类型(typeof),parseInt与parseFloat的区别,隐式类型转换

2019-05-27 20:56 633 查看

1.将字符串转换为数据

var a1 = '100';
alert(a1+100);  //输出的是100100

但是想要的结果时100+100=200
所以应当将a1转换数据类型

alert(Number(a1));  //输出200

2.当值为空值时

var a2 = ' ';
alert(a2); //不出现值和结果,因为是空,所以什么都没有

转换为数值型时

alert(Number(a2));   //最后结果出现0

3.值为布尔型

var a3 = true;
alert(a3);//结果出现true

转换为数值型时

alert(Number(a3));  //输出1,而false对应的是0

4.函数

var a4 = function(){alert(1);}
alert(Number(a4));//最后出现NaN,太多了不能识别转换过来

5.对数组

var a5 = [];
alert(Number(a5));//出现结果为0
——空数组出来的数值结果为0

在数组中添加值,

var a5 = [123];
alert(Number(a5));//出现123

但是需要记住的是不能在数组中给与过多的值,值多了结果就会变成NaN

6.值为null时

var a6 = null;
alert(Number(a6));// 结果为0

7.值为未定义

var a7 ;
alert(Number(a7));//出现NaN

二:判断数据类型用到typeof

var i = 100;
alert(typeof i);//出现结果number

三:parseInt
用Number转换在很多情况下都无法转换,出现NaN
有时候出现非数字时,就可以用到parseInt——解析成一个整数(从左到右,自动识别)
但是parseInt不是整体转换,而是从左到右的转换,一遇到非数字的就不能转换
1.

var b = '100px';
alert(parseInt(b));//出现100,而后面的px直接截断

再或者

var b = '100px12345';
alert(parseInt(b));//出现100,出现在px或者以后的都被截断

2.当第一位不是数字时(加号,减号,空格等都是可以识别的)

四:parseFloat——小数,从左到右,可以识别小数点(合理的小数点)

var b = '12.34元';
alert(parseFloat(b));//最后结果12.34

parseInt和parseFloat一起运用

var num = '200.345';
//判断某一个数值是整数还是小数点的数
if(parseInt(num)==parseFloat(num)){
alert(num+'是整数');
}else{
alert(num+'是小数');
}

五.隐式类型转换
1.其中上面的Number,parseInt,parseFloat等就是显示类型转换+即强制类型转换
2.隐式类型转换
1)- * / %可以让字符串转换之后变成数字

alert(‘200’-3);//最后输出的结果时是197——运用减号后,将字符串强制转换成为了数字

2)+ 变成字符串

alert(200+‘3’); //最后变成了2003——运用加法后将值变成了字符串

3)++ – 将值转换成数字

var a = '10';
a++;
alert(a);//最后结果为11

4)> <(大于号和小于号)

alert('10'>9);//结果出现true
alert('10'>'9');//结果出现false

数字之间的比较与字符串的比较:
从左到右的比较,即’10‘’与‘9‘中从左到右1小于9,所以false

5)!取反
alert(!true);//结果出现false
alert(!100);//结果false,因为 100是真,取反为假

6)==

alert('2'==2);//结果true,2对应2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: