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

javascript数据类型转换总结

2017-11-07 21:00 603 查看

数据类型分类

复杂数据类型:对象类型

简单(基本)数据类型:number string boolean null undefined

数据类型转换分类

隐式转换

显式(强制)转换

一.其他数据类型转number类型

隐式转换

1.0 . 隐式转换:只要是参与数学运算都会进行一个隐式类型转换  +   -   *  /  %
1.1.  null对应number类型中的0,
1.2. NaN 是属于number类型,表示数字的一种不正常状态,也就是说本来应该进行数学运算的值没有转换成number, js中特别的安排了一个这么一个NaN的值,有了这个值程序就不报错了
1.3、NaN是属于number类型的一个值,代表数字的一种不正常状态,是非常特殊的,特殊到和任何值都不相等,即使自己也不相等,所以任何与NaN的数学运算,最最终的结果都是NaN


显式转换:通过Number( )、ParseInt( )、ParseFloat( )

Number( )

特点:

a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。

b.如果不可以转换那么返回NaN.

c.如果在内容中出现小数,那么小数会保留。

d.如果内容为空,那么转换成0;

如:
var num1 = Number(true); //true返回1  false返回0
var num2 = Number(undefined); //返回NaN
var num3 = Number("hello");  //返回NaN
var num4 = Number(" "); //如果是空字符串或是真空的字符串返回0
var num5 = Number(123); //返回123,如果是数字,简单返回
var num6 = Number("123abc");  //返回NaN
var num7 = Number("abc123");  //返回NaN


ParseInt()

特点:

a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。

b.如果不可以转换那么返回NaN.

c.如果带有小数,那么会去掉小数,而不是四舍五入。

d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止.

例子:
var num1 = parseInt(false); //无论true或是false都是NaN
var num2 = parseInt(undefined); //NaN
var num3 = parseInt("hello");  //返回N
var num4 = parseInt(""); //如果是空字符串或是真空的字符串返回NaN
var num5 = parseInt(123); //返回123,如果是数字,简单返回
var num6 = parseInt("123a89bc");  //返回123
var num7 = parseInt("abc123");  //返回NaN
var num8 = parseInt('123.456'); //只能转换整数部分,小数部分直接舍掉
var num9 = parseInt("80.56ab");


ParseFloat()

例子:
var num1 = parseFloat(false); //无论true或是false都是NaN
var num2 = parseFloat(undefined); //NaN
var num3 = parseFloat("hello");  //返回N
var num4 = parseFloat(""); //如果是空字符串或是真空的字符串返回NaN
var num5 = parseFloat(123); //返回123,如果是数字,简单返回
var num6 = parseFloat("123a89bc");  //返回123
var num7 = parseFloat("abc123");  //返回NaN
var num8 = parseFloat('123.456'); //返回123.456
var num9 = parseFloat("80.56ab");//返回80.56


二.其他类型转换为String类型

隐式转换:当两个操作数做”+”运算时,如果表达式中任意一边有字符串,”+”,为字符串连接符

例子:
var n = 200;
n = n + "";
console.log(n);//"200"
console.log(
4000
typeof  n);//string


显式(强制)转换: toString( ) 和 String()

1.toString() : 除了null undefined这两个类型不能调用 .toString() ,其他任何数据都可以调用.toString();

2.String() : 任何数据都可以调用此函数;

例子:

var a = undefined;
a = String(a);
console.log(a);//"undefined"
console.log(typeof a);//string


三.其他类型转换为Boolean类型:

其它数据类型转换为boolean类型值为false只有这几种情况:0  NaN  ""  null   undefined   false


隐式转换: 在数据类型之前加“!!”即可

例子:
var n = -200;
var b = !!n;
console.log(b);
console.log(typeof b);


显式转换:调用Boolean():

例子
console.log(Boolean(NaN));//false
console.log(Boolean(0));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean("abc"));//false


**如若有错,请多多指教,谢谢广大网友**
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息