zoukankan      html  css  js  c++  java
  • JS之类型转换

    一、显示类型转换

    1.Boolean()

      (1)、undefined/null/‘’   ==》 false

      (2)、任何对象(包括例如var obj = {} ) ==>  true

      (3)、非空字符串  ==》 true

      (4)Infinity/-Infinity ==>true

      (5)、其他应该均为true

    2.Number()

      (1)、如果不是字符串,而是数值,则转换为对应的十进制。

      (2)、如果为字符串,

          a)字符串内容均为数值,则转换为相应的数值。

    Number(123); // => 123
    Number(0123); //=>83
    Number(0x123); //=>291
    Number(00x123); //报错
    Number(000123); //83

            注意进制问题:

              如果为0开头的数字字符串,为八进制,浏览器会将前导0忽略,将后面的当成十进制返回  Number('0123'); // =》123 

              如果为0x开头的数字字符串,则浏览器认为其为十六进制数值(不会忽略前导0,若前面为‘00x’,则返回NaN),将其装换为十进制没返回 Number('0x123'); // =>291 

          b)字符串内容均为非数值字符,则返回NaN

          c)字符串内容数字和非数值混搭

              如果第一位为数值,则截取第一位数值到最后一位数值(之后为非数值,就算非数值后又有数值也不考虑)。 Number('123daasd123132'); // =>123 

              如果第一位为非数值*则直接返回NaN(NaN不能参与比较,即使和自己 NaN == NaN ,报错)

       (3)、undefined ==》NaN

            null  ==>0

            空字符串(里面可以包含若干空格) ==>0

           对象  ==》先转换valueOf()返回的值,若为NaN,在转换toString()返回值,即为最后结果

     注意:还有一种特殊情况,当数字值溢出数值范围,返回无穷大,上溢出,返回Infinity,下溢出,返回-Infinity。

        浏览器能表示的最小值为Number.MIN_VALUE ,最大值为Number.MAX_VALUE

    3.parseInt()

      1. 几乎和parseFloat转换方法完全一样,只不过最终结果返回的都是整数,而不存在浮点数。

      2.第二个特殊点是:parseInt(arg1,arg2);有第二个可选参数,制定arg1为几进制数,然后将其转换为十进制整数,如果第二个参数未制定,则默认为十进制。(制定进制转换为十进制);(第二个参数的范围为 2 ~ 36,设定值超过此范围则返回NaN,注:第二个参数实际上也可设置为0,此时相当默认值十进制

      3.区别:toString()方法,toString方法里参数可选,制定将调用该方法的数值转换的进制数,最后再抓转换为字符串  var x = 123; x.toString(2); //=>"1111011" 

    4.parseFloat()

      1.几乎和parseInt转换方法完全一样,只不过最终结果返回的都是浮点数,而不存在整数。

      2.不存在第二个参数.

    5.String(),等同于toString(),只不过没参数而已

      (1)、如果有toString()方法,则调用该方法。

      (2)、null和undefined没有该方法,分别返回'null' 和 ’undefined‘;

    二、隐士类型转换:

      1.进行相等比较,会尽量转换为相同类型再判断

      2.+,-,++,--会将操作的先转换为数字,再进行操作。

      3.反正就是能转换为合适的类型,就会自动转换。

  • 相关阅读:
    启动Tomcat报错:严重: Exception starting filter struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
    数学 交换律
    android中LayoutInflater的使用
    数学 三角函数
    数学 矩阵
    数学 弧度
    数学 分配律
    Android开发必备的免费资源和工具
    数学 结合律
    View.setTag()的作用
  • 原文地址:https://www.cnblogs.com/Walker-lyl/p/5264489.html
Copyright © 2011-2022 走看看