[Javascript] Data Type & Summary

5种数据类型

Undefined Null Boolean Number String

1种复杂的数据类型

Object

(1) Undefined VS NULL

Undefined 是定义了 但是并没有初始化
值为undefined
eg: 
   var a;
   console.log(a);//undefined 
   console.log(typeof(a));//undefined (类型)

NULL 空对象指针 
值为null
eg:
   var a=null;
   console.log(typeof(a));//object (类型) 对象类型

undefined==null

(2) == VS ===

== 类型可以不同 比较的值相同

   null==undefined
   boolean: true为1 false为0
   number string: string转化成number类型 进行比较
                  123=="123"
   object :  要看比较的类型
             if 是number 则转为number
               var obj=[1,2,3];
               var num=123;  //obj==num
             if 是string 则转为string
               var obj=[1,2,3];
               var str="1,2,3";  //obj==str

=== 类型相同 且比较的值相同

(3) typeof 检验数据类型

     undefined
     boolean
     string 
     number
     object---对象或null eg: 数组为对象
     function--- eg:
                   function a(){}
                   alert(typeof(a));//function

(4) 检测Object方法 typeof只能说明这个是object 不能说明他们是object中的哪一类

 - instanceof
            eg: var a=[];
                a instanceof Array;//true

 - Object.prototype.toString.call(a);
 //"[object Array]"

         toString表明当前对象的内部属性值
         Object内部有10个属性值 eg:Array Boolean Date Math RegExp....

(4.1) 判断Array的类型方法

 - a instanceof A 
 //只有A的原型对象出现在a的原型链上 才可以返回true
                   var a=[1,23];
                   var b={};
                   console.log(b instanceof Array);//false

 - Array.isArray() //兼容性问题 IE8瘫
                  var a=[1,23];
                  console.log(Array.isArray(a));//false

 - Object.prototype.toString.call(a); 
 //兼容性最好 没有问题
                  var a=[1,23];                console.log(Object.prototype.toString.call(a));//[object Array] 

(5) NaN

    Not a number
    NaN!=NaN //true
    NaN==NaN //false
    typeof NaN// number
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值