変数の種類を判断します.

1596 ワード

1.typeof            null      

//   typeof        
                             
typeof undefined           'undefined'
typeof null                'object'
typeof true                'boolean'
typeof 123                 'number'
typeof "abc"               'string'
typeof function() {}       'function'
typeof {}                  'object'
typeof []                  'object'

//  [] {}

//<1>.    

var obj = {}
var arr = []

1、toString(  )

Object.prototype.toString.call(obj) === '[object Object]' //true

Object.prototype.toString.call(arr) === '[object Object]' //false 


Object.prototype.toString.call(arr) // "[object Array]"

2、constructor

obj.constructor === Object  //true
[].constructor === Object   //false  
[].constructor === Array   //true 
[] instance of Array       //true
obj instance of Array     // false

  : instanceof Array            
  instanceof Object   ,  :

obj instanceof Object //true
arr instanceof Object //true

  :$.isPlainObject() ---jquery     

                    (  ”     ”,        ”{}” ”new Object”   。)

//<2>.    

var obj = {}
var arr = []

1、instanceof

obj instanceof Array //false
arr instanceof Array //true

2、Array    isArray  

 Array.isArray(obj) //false
 Array.isArray(arr) //true

3、Object.prototype.toString

 Object.prototype.toString.call(obj) === '[object Array]'; //false
 Object.prototype.toString.call(arr) === '[object Array]'; //true