当前位置:网站首页>JS method of judging object type_ How to use typeof_ How to use instanceof_ How to use constructor_ Object.prototype.toString How to use ()

JS method of judging object type_ How to use typeof_ How to use instanceof_ How to use constructor_ Object.prototype.toString How to use ()

2020-11-09 12:58:00 http://www.google.com/sea....tin-round+rock+texas

JS How to judge the object type

typeof

typeof Method There's a... on the right data You can return the data type of this data Be careful typeof It's not the way No need to add ()  

The returned data types are    string( character string ) number( Numbers ) object( object )array( Array )boolean( Boolean )null( empty )undefined( Undefined )

var x = []
var y = {}
var z =null
var a 

console.log( typeof 'aaa')    //  string
console.log( typeof 123)      //  number
console.log( typeof true)     //  boolean
console.log( typeof a)        //  undefined
console.log( typeof b)        //  undefined    It's also undeclared   undefined 
console.log( typeof x)        //  object       Arrays are also objects   But with typeof  Can't detect array 
console.log( typeof y)        //  object
console.log( typeof z)        //  object      null It's an empty object    use typeof Detection is also the object 

instanceof

instanceof Used to determine   instanceof  front Of data whether by    instanceof after The type of   Returns a Boolean value   No need to add ()  however instanceof Can only be used to detect objects

var x = []
var y = {}
var z =null
var a = 'aaa'
			
console.log(x instanceof Object)     //true    Arrays are also objects 
console.log(x instanceof Array)      //true  
console.log(y instanceof Object)     //true   
console.log(y instanceof Array)      //false    But arrays don't have to be objects 
console.log(z instanceof Object)     //false    use instanceof Detecting empty objects   It can't be detected 
console.log(a instanceof String)     //false   instanceof It can only be used to judge objects   Invalid for Strings 

constructor

constructor    It's through the prototype chain         Can be used to find objects and common data     Compared with  instanceof and typeof It will be more precise

var x = []
var y = {}
var z = Date()
var a = 'aaa'
			
console.log(x.constructor==Object)    //false    ad locum   Arrays are not recognized as objects 
console.log(x.constructor==Array)    //true
console.log(y.constructor==Object)    //true
console.log(a.constructor==String)    //true     Strings can be recognized normally 
console.log(z.constructor==Object)    //false    Time objects are not recognized as objects 
console.log(z.constructor==Date)     // true    
			

Object.prototype.toString()

Object.prototype.toString()     yes Object The archetypal approach   Compared with the above three More accurate

var x = []
var y = {}
var z = new Date()
var a = 'aaa'
			
console.log(Object.prototype.toString.call(x))    //[object Array]
console.log(Object.prototype.toString.call(y))    //[object Object]
console.log(Object.prototype.toString.call(z))    //[object Date]
console.log(Object.prototype.toString.call(a))    //[object String]

 

 

版权声明
本文为[http://www.google.com/sea....tin-round+rock+texas]所创,转载请带上原文链接,感谢