JS中的数据类型转换(1)

js中的数据类型转换,一般都是将一种类型的数据转换为number,string和boolean这三种基本类型,包括显式类型转换和隐式类型转换。本章介绍基本类型到基本类型的转换,对象转换为基本类型的介绍将另开一章。

显式类型转换

    a. 转换为boolean值

    通过Boolean()函数,转换为布尔值,规则为:除了0,NaN,false,undefined,null,‘’ 转为false,其他的所有值都转换为true。


    b. 转换为number值

    转换为数值类型时,有三种方式:Number(),parseInt(),parseFloat()。其中Number()可以将任意类型转换为数值类型,而另外两个则是专门将字符串类型转换为数值。

    Number()的转换规则为:

    parseInt()的转换规则为:

    parseFloat的转换规则为:parseFloat()的转换规则和parseInt()类似,只是会将第一个小数点当做有效值,而它会忽略掉前导的零。parseFloat同样会解析各种数据格式,但是十六进制始终返回0。



    c. 转换为字符串

    转换为字符串有2种方式:toString()方法和String()方法。

    除了null和undefined没有toString()方法,其他的数据类型都有toString()方法,将数字类型转换为字符串时,可以传递一个参数作为基数,表示将十进制的数字转换为该基底的字符串。

    String()方法可以将任意类型的数据转换为字符串,包括undefined和null。


隐式类型转换

    隐式类型转换大致包括如下几类:

    a. isNaN()

    isNaN函数内部调用Number()函数进行数字的转换

    b. ++,--,+/-(一元正负运算)

    调用Number()转换为数字后再计算

    c. +

    加号中如果两边有一个为字符串,则转换为字符串;如何两边为数字或者布尔值,则进行加法运算,对布尔值,调用Number()方法转换为数字。

    d. -,*,/,%

    调用Number()转换为数字后计算

    e. &&,||,!

    转换为boolean类型

    f. >,<,>=,<=,==,!=

    根据两边的类型进行转换,两边有一个为数字或者布尔值,调用Number()转换为数字后进行数字的比较;都为为字符串,进行字符串的比较;比较特殊的情况:undefined == null,(undefined > 0,undefined < 0,undefined = 0均为false),NaN == NaN为false

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容