基本数据类型和引用数据类型的区别:
存储分栈和堆
变量比较相等与否的时候,比较的是栈中的值
基本数据类型是真值,引用数据类型是指针(路径)

隐式数据类型转换
(1)变成数字:数学运算,比较大小
(2)字符串拼接+;加号之前或之后是字符串
(3)变成布尔值:!
其他数据能转换成0的情况:""," ",false,null,"0"
转换成布尔值为false的情况:0,NaN,"",null,undefined
基本数据类型
1.字符串 string
+链接字符串的时候,其他数据类型像字符串转换,并进行拼接,高于加法运算
2.数字 number
遇到数学运算符(比较运算符)的时候,其他数据向数字转换
3.布尔 boolean(true false)
!取反的时候,先将数据转换成布尔值,再进行取反
变成布尔值为false的5中情况:0,NaN,"",null,undefined

 


运算
  1.赋值运算
    两个字符串比较大小,比较的是数据的Unicode编码的编号;
    var n = true,m = "1a";
    console.log(n==m);
      两个等号,比较值的大小,不在乎数据类型,其他数据向数字转换
    console.log(n===m);
      三个等号,全等,要求数据类型和值都相等

  2.比较运算
    i++;先赋值,后运算,运算完再赋值
    ++i;先运算,后赋值


  3.逻辑运算符
    &&前一个语句的结果转换成布尔值如果是false的话,不执行后一个语句;如果前一个语句的结果转换成布尔值是true的话,结果是后一个语句的结果。
    ||前一个语句结果转换成布尔值是true的话,后一个语句不执行;如果false的话,结果就是后一个语句的结果。
    !取反(结果是布尔值,true||false)

 

 
 
 

基本数据类型和引用数据类型的区别:
存储分栈和堆
变量比较相等与否的时候,比较的是栈中的值
基本数据类型是真值,引用数据类型是指针(路径)

隐式数据类型转换
(1)变成数字:数学运算,比较大小
(2)字符串拼接+;加号之前或之后是字符串
(3)变成布尔值:!
其他数据能转换成0的情况:""," ",false,null,"0"
转换成布尔值为false的情况:0,NaN,"",null,undefined
基本数据类型
1.字符串 string
+链接字符串的时候,其他数据类型像字符串转换,并进行拼接,高于加法运算
2.数字 number
遇到数学运算符(比较运算符)的时候,其他数据向数字转换
3.布尔 boolean(true false)
!取反的时候,先将数据转换成布尔值,再进行取反
变成布尔值为false的5中情况:0,NaN,"",null,undefined

 


运算
  1.赋值运算
    两个字符串比较大小,比较的是数据的Unicode编码的编号;
    var n = true,m = "1a";
    console.log(n==m);
      两个等号,比较值的大小,不在乎数据类型,其他数据向数字转换
    console.log(n===m);
      三个等号,全等,要求数据类型和值都相等

  2.比较运算
    i++;先赋值,后运算,运算完再赋值
    ++i;先运算,后赋值


  3.逻辑运算符
    &&前一个语句的结果转换成布尔值如果是false的话,不执行后一个语句;如果前一个语句的结果转换成布尔值是true的话,结果是后一个语句的结果。
    ||前一个语句结果转换成布尔值是true的话,后一个语句不执行;如果false的话,结果就是后一个语句的结果。
    !取反(结果是布尔值,true||false)