Everyone who knows js knows that there is a typeof used to determine various data types. There are two ways of writing: typeof xxx , typeof(xxx)
The following example:
typeof 2 Output number
typeof null Output object
typeof {} Output object
typeof [] Output object
typeof (function(){}) Output function
typeof undefined Output undefined
typeof '222' Output string
typeof true Output boolean
This contains five data types in js number string boolean undefinedobject and functionType function
You will definitely ask when you see this: How do I distinguish between object, array and null?
Next We use another tool: Object.prototype.toString.call
This is a native prototype extension function of the object, used to distinguish data types more accurately.
Let’s try this thing:
var gettype=Object.prototype.toString
gettype.call('aaaa') Output [object String]
gettype.call(2222) Output [object Number]
gettype.call(true) Output [object Boolean]
gettype.call(undefined ) Output [object Undefined]
gettype.call(null) Output [object Null]
gettype.call({}) Output [object Object]
gettype.call ([]) Output [object Array]
gettype.call(function(){}) Output [object Function]
Seeing this, we have solved the problem just now.
In fact, there are many type judgments in js
[object HTMLpElement] p object,
[object HTMLBodyElement] body object,
[object Document](IE) or
[object HTMLDocument](firefox,google)...
Various dom nodes judgment, these things will be used when we write plug-ins.
The methods that can be encapsulated are as follows:
var gettype=Object.prototype.toString var utility={ isObj:function(o){ return gettype.call(o)=="[object Object]"; }, isArray:function(o){ return gettype.call(o)=="[object Array]"; }, isNULL:function(o){ return gettype.call(o)=="[object Null]"; }, isDocument:function(){ return gettype.call(o)=="[object Document]"|| [object HTMLDocument]; } ........ }
The above is the detailed content of A simple way to determine data type using js. For more information, please follow other related articles on the PHP Chinese website!