1. Determine if the variable is the data type of the array?
Method One: Determine whether it has an "array nature", such as the slice () method. You can define the slice method for the variable yourself, so it sometimes fails.
Method Two: obj instanceof Array, but incorrect in some IE versions
Method Three: From the Zepto.js source code,
function IsArray (ARG) { return Object.prototype.toString.call (arg) = = = "[Object Array]" }
For browsers that support the new method Array.isarray () in the ECMA Script5, the following optimizations can be made.
if (typeof array.isarray=== "undefined") { Array.isarray = function (arg) { return Object.prototype.toString.call (arg) = = = "[Object Array]" }; }
2. Determine if the variable is an object
function IsObject (ARG) { return Object.prototype.toString.call (arg) = = = = "[Object Object]" }
More in-depth judgment
function Isplainobject (obj) {return IsObject (obj) && object.getprototypeof (obj) = = Object.prototype}
3. Determine if a variable is a function
function Isfunction (ARG) { return Object.prototype.toString.call (arg) = = = = "[Object Function]" }
Javascript Common Type Detection