强制类型转换

梦想与她 提交于 2020-02-26 11:42:06

类型转换主要指,将其他数据类型转换为(String、Number、Boolean)

类型转换有显式类型转换 和隐式类型转换

显式类型转换

1.1转换为string

调用数据的 toString() 方法  

null和undefined 没有这个方法

1.2.调用String()函数,并将转换的数据作为参数传给函数

内部实际是调用了toString()

对于null和undefined就不调用toString(),它会将null直接转换为“null”

a=String(undefined)
"undefined"
a=String(null)
"null"

2.1转换为Number

使用Number()函数

    var  a="123";

              a=Number(a);

              console.log(typeof  a);     //结果:number

 //   如果:

            var  a="abc";

           a=Number(a);

           console.log(a);   // 结果:NaN

如果是纯数字的字符串,则直接转换为数字,如果字符串中有非数字的内容,则转换为NaN,如果字符串是一个空串或者是一个全是空格的字符串,则转换为0;

Number(true)="1"     Number(Null)=0   Number(undefined)="NaN" Number(false) = 0

 

2.2parseInt(stringradix)   parseFloat()//只转换10进制   专门用来对付字符串

parseInt(stringradix)   将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数 //最好第二个参数写上10

parseFloat() 函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。

如果对非string使用parseInt()或parseFloat()它会先将其转换为string,然后再操作。

var  a = "123px";

            a=parseInt(a);

           console.log(typeof a);    结果:number

           console.log(a);               结果:123 

          var b=true;

           b=parseInt(b);

           console.log(typeof b);    结果:number

           console.log(b);               结果:NaN

3转换为Boolean

除了0、NaN、空串、null、undefined其余都是true。对象也会转换为true

隐式类型转换

字符串相加  if条件语句的括号内

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!