js类型转换

118 阅读1分钟

类型转行

  1. 其他类型转Boolean:
  • 手动转换(Boolean方法)和隐式转换(比如if等等)

  • 规则:

    • number转boolean 0和NaN是false 其他都是true

    • string转boolean 空串为false,非空为true,空格串也为true

    • null和undefined都是false

    • 对象类型全部都是true

  1. 其他类型转string

    • 有一个String的方法 可以把任意类型转为字符串

    • 除了null和undefined以外,每一个类型都有一个toString方法,转为字符串

    • 规则

      • number转string 直接加了一个引号

      • null和undefined都是直接加引号

      • boolean也是加一个引号

      • 对象类型转string

        • object会转为[object Object]

        • 数组是去中括号加引号

        • 函数是直接加引号

  2. 其他类型转number

    • 使用Number方法

    • 规则:

      • 字符串转number

        • 如果是字符串中是纯数字,则直接转为对应的数字,

        • 如果有其他特殊的字符和字母等,则转为NaN

        • 空串或者只有空格的串,转为0

      • boolean转number

        • true为1 false为0
      • null是0 undefined是NaN

      • object转number

        • 对象和函数都是NaN

        • 空数组转为0,当数组只有一个值,且能转为number的,则转为对应的number,否则转为NaN

进制转换

进制转换 parseInt(A,B)

  • A是一个字符串类型

  • B是当前字符串类型的进制

  • 得到的结果是 把B进制的A转为10进制

  • 如果出现错误则返回NaN 比如书写一个8进制的99

  • 如果B是0,则默认为10进制,B不能是1,因为没有1进制

B.toString(A): -

  •  可以把10进制的数字B 转为A进制 字符串表示 
  •  进制范围是2--36