javascript 知识点 第一篇 基础数据类型

189 阅读2分钟

一 基础知识

1.数据类型

  • 基本数据类型

    number string boolean undefined

  • 引用数据类型

    Object Function symbol

  • 检测数据类型的方法

    typeof  只能检查到object(该数值是什么类型)
    instanceof 检查返回的是一个布尔值
    Object.prototype.toString.call(a)
    
  • 数据类型转换

    隐式数据类型转换

    ​ 算术运算符 - / * %

    ​ 关系运算符 < > = != >= <= ===全等于 !==全不等于

    ​ 单目运算符 ++ --

    强制数据类型转换

    + 不能产生隐式类型的转换
    - * / % ++  --  隐式类型转换
    关系运算符   隐式类型的转换
    
    
    强制类型转换:(强制将某个类型转成另一个类型,如果不能正常转换,结果就是:NaN)
    Number();   转成数值型(注意:首字母要大写)
        Number("aaa")  //NaN
        Number("11111a")   //NaN
     Number("11")   //11
        Number(true)  //1
        Number(false)  //0
    parseInt();将字符串转成整型(注:字母在数字前面的不可以转)
        parseInt("13.33333")  //13
        parseInt('12.33aaaaaa')  //12
        parseInt('12aaaaaa')   //12
        parseInt("ab12.344") //NaN
    parseFloat();将字符串转成浮点型
        parseFloat("12.34abcd3456")  //12.34
        parseFloat("12ab12.34")   //12
    String()
    isNaN();判断非数字  如果参数是非数字,结果为true   否则是:false
        isNaN("12")  //false
        isNaN(12)  //false
        isNaN("12ab") //ture
        isNaN("ab") //ture
        isNaN()   //判断是否为NaN; 如果是NaN 返回的则是true;
    执行逻辑:首先用Number()  转换,如果为NaN  返回的则是true;
    isNaN()  相当于  window.isNaN();
    注:
    1.js哪些值能转成flase
     undefined "" 0 false null
    2.js哪些值能转成ture
     非0数字  非空的字符串  ture object function
    字符串比较大小时,要转成ascll码,进行比较.
    
  • 运算符

    逻辑运算符的短路问题:
      如果&& 遇到false  后面的表达式不再执行
      如果|| 遇到true  后面的表达式不再执行