JavaScript 深入浅出笔记

一:六种数据类型

弱类型特性:

       eg:var num =32;   

              num="this is a string";

               32+32    //64

              "32"+32  //"3232"

              "32"-32   //0

    原始类型:   number

                         string

                         boolean

                         null

                         undefined

     非原始类型:object   对象     eg:Function   Array  Date ...

    

 隐式转换:          

     “37”-1  //36

     “37”+7 //377

  巧用+/-规则转换类型  :   num-0  //将num 转换为number类型

                                           num+‘’ //将num转换为string类型

“1.23” == 1.23  //true  当等号两边 一边是字符串 一边是数字时,会尝试把字符串转换为数字,然后再进行比较

 0==false          //true

 null == undefined   //true

boolean ==?  //将boolean 转为数字,  1==true 

object  ==number |string   尝试对象转为基本类型 new String(‘hi’)=='hi'  //true   ;  其他为false

new Object()  == new Object()  //false

[1,2] ==[1,2]  //false

严格等于:  a===b    首先会判断等号两边的类型,类型不同,返回false;

                               类型相同:null ===undefined //false     ,两边都为null 或者都为undefined 时为true;

                               NaN≠NaN      NaN和任何值比较 都是不相等的,包括和它自己比较;

                               new  Object()  ≠new Object()  对象的比较用引用比较,而不是用值比较。

      

猜你喜欢

转载自yhgogo.iteye.com/blog/2215977