Data type judgment typeof
typeof can solve the judgment of most data types. Its return value is a string that describes the type of the operand.
//判断变量num是不是一个数字类型 if(typeof num=='number') { return true; }
Return results:
var a="hling"; console.log(a); //string var a=1; console.log(a); //number var a=false; console.log(a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //object var a = function(){}; console.log(typeof a) //function除了可以判断数据类型还可以判断function类型
Except for the four types string, number, boolean, and undefined In addition, null, object, and array return all object types! ! !
For function types, function is returned, such as typeof(Date), typeof(eval), etc.
js method to determine array type
1) instanceof
instanceof is used to determine an Whether the variable is an instance of an object is a ternary operator. This operator has something to do with object-oriented in JavaScript. To understand this, you must first understand object-oriented in JavaScript. Because this operator detects whether the prototype chain of the object points to the prototype object of the constructor.
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
Example:
##
var arr = [1,2,3,1]; alert(arr instanceof Array); // true
2) constructor
Definition in W3C definition: The constructor attribute returns a reference to the array function that created this objectvar arr = []; arr instanceof Array; // true arr.constructor == Array; //true
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) Characteristic judgment
function isArray(object){ return object && typeof object==='object' && typeof object.length==='number' && typeof object.splice==='function' && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable('length')); }
4) Object.prototype.toString.call
Object.prototype.toString.call(value) == '[object Array]'
The above is the detailed content of Detailed explanation of how to judge js data type and array method instance. For more information, please follow other related articles on the PHP Chinese website!