20200825戚权

知识点:

  1. 隐式转换:无需程序员干预,程序自动完成的类型转换,当给定的数据类型和JS运算要求的数据类型不相符时,都会首先自动类型转换为规定的类型,再运行程序.
    • 数值型+字符串型>字符串型
      数值型+布尔型
      >数值型
      字符串型+布尔型==>字符串型
    • 加法运算:当有字符串参与加法运算时为拼接,非字符串都转为字符串
    • 减,乘,除,求余,运算,:自动将数据类型转为数值型,然后再进行运算
  2. 强制转换:程序员主动调用转化函数实现的类型转换,只要隐式转换的结果不是想要的结果的时候就使用强制转换

    • Number():1.所有隐式转换都是自动调用Number()2.如果将非字符串转为数字,首选Number(),但很少主动使用

      • Number('9');        ==>     9
        Number('2a');       ==>     NaN
        Number(true); ==> 1
        Number(undefined); ==> NaN
        Number(null); ==> 0
      
      -  NaN:NaN(Not a Number),JS中number类型的一个特殊值,代表一切不是数字的值,只要将其它类型转为数字时,无法正常转换时,都转为NaN.1. NaN参与任何计算,结果依然是NaN2. NaN不大于,不小于,不等于任何值,包括自身
      
  • parseInt():将数据转为number类型的整数,从开头开始,依次读取每个字符,只要碰到数字就保留,直到碰到第一个不是数字的字符就不再继续读取

        parseInt(2.5)       ==>     2
        parseInt(undefined)     ==>     NaN
    parseInt('2a') ==> 2
    parseInt('string') ==> NaN
    parseInt(true) ==> NaN
  • parseFloat():将数据转为number类型的浮点数(小数),从开头开始,依次读取每个字符,只要碰到数字和小数点就保留,直到碰到第一个不是数字和小数点的字符就不再继续读取 1.parseInt 和 parseFloat 在将布尔型、未定义型、空转为数值型的时候,都返回NaN;2.如果将字符串转为数字,首选parseFloat,除非确定要舍弃小数部分采用parseInt

     parseFloat('2.9a')     ==>     2.9
        parseFloat(true)        ==>     NaN
    

标签

评论


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1