• 数据类型转换


    数据类型转换分为隐式类型转换和强制类型转换!

    隐式类型转换:程序自动完成,程序会根据运算的需求将不符合要求的数据类型,转换为需要的数据类型,再进行运算。不需要人为干预!

    问题:影响程序执行的预期结果

    隐式类型的原理:

    1、一切数据在进行算术运算时,都会尝试转换为number程序自动调用一个方法:Number()

    eg:var str="321" ,num="345.123"

       num-str 自动转换为num-Number(str);  结果为:345.123-321

    注意:Number只能转换纯数字组成的字符串,一旦出现非数字的字符,结果为NaN。

    NaN:not a number  表示所有非数字类型的集合。表示一个范围,不是具体值。

    NaN参与的运算返回值结果都是NaN

    2、特别的,在+运算中,碰到字符串,则不在转Number,而是将前后数据转为string类型,在进行拼接。只要碰到字符串都转string!

    程序自动调用一个方法:String()

    eg:var num=123.456  ,str="321"

        num+str  自动转换为String(num)+str;  结果为:"123.456"+"321"

    3、特别的,字符串比较大小,不会转Number。而是按位比较每个字符的Unicode编码。

    获取字符的Unicode编码:charCodeAt()

    eg:var char1="郑"; char1.charCodeAt();//返回char1中保存的字符在Unicode码表中的编码。

    强制类型转换:程序员手动控制的数据类型转换!

    常用的有以下三种:

    1、转数字:

    ①number()  只能转换纯数字组成的字符串。

    eg:var num=Number(值)

    ②parseInt(字符串),将传入的字符串,转换为整数,其他类型结果为NaN

    eg:var str4="123.456abc"   转换过程为:parseInt(str4)   转换结果为123;

       var  str5="12a3.456abc"   转换过程为:parseInt(str5)   转换结果为12;

    注意:将字符串转化为整数,碰到第一个非数字类型的字符就停止,并取整。

    ③parseFloat();保留小数。

    2、 转String()

    ①String()

    ②toString()

    注意:不能转null和undefined,结果会报错!

    3、转bool,Boolean()

    注意:""  0  NaN  null  undefined,这五种特殊的类型转换结果为false。

    完结!

  • 相关阅读:
    [转载]在sharepoint里增加PDF图标显示收藏主题
    CuratorFramework开源Zookeeper快速开发框架介绍
    Zookeeper和CuratorFramework实践之:分布式消息队列
    Zookeeper和CuratorFramework实践系列之: 配置管理
    JS 文字向上滚动代码
    sql递归查询问题
    双线单IP和双线双IP机房的区别
    js获取标准北京时间
    ftp 21端口被占用解决办法
    "由于没有远程桌面授权服务器可以提供许可证..."不能远程桌面解决方法
  • 原文地址:https://www.cnblogs.com/woheni/p/11222107.html
Copyright © 2020-2023  润新知