1、typeof 运算符识别,适用以下类型
var num = 1; // typeof(num) == 'number'
var str = 'hello'; // typeof(str) == 'string'
var boo = true; // typeof(boo) == 'boolean'
var obj = {};// typeof(obj) == 'object'
2、当变量为数组时,typeof返回的是object,要正确返回array,操作如下:
Object对象原型的toString方法:
这种方法也可以用来获得任何其他变量的类型,不管变量的实际类型是什么,返回值都是以 object 开头,因为 Number,String,Boolean,Array,Function 都继承自 JavaScript 内置的 Object 对象,而每一个变量,都是与其类型相应的对象的一个实例。
/* Object.prototype.toString.call(arg); // arg 可以是任何变量,不管变量的实际类型是什么,返回值都是以 object 开头。 */
var num = 1;
alert(Object.prototype.toString.call(num)); // [object Number]
var str = 'hudidit.com';
alert(Object.prototype.toString.call(str)); // [object String]
var boo = true;
alert(Object.prototype.toString.call(boo)); // [object Boolean]
var fun = function(){};
alert(Object.prototype.toString.call(fun)); // [object Function]
var obj = {};
alert(Object.prototype.toString.call(obj)); // [object Object]
var arr = [];
alert(Object.prototype.toString.call(arr)); // [object Array]
3、当对象是一个实例时,用instanceof检测,instanceof 运算符用于判断一个变量是否为一个对象的实例。
var arr = [];
alert(arr instanceof Array); // true
在这里,arr 是 Array 对象的一个实例,所以 arr instanceof Array 会返回 true ,从而我们知道变量 arr 是一个数组
4、jQuery.isArray()
var num = [10, 5, 3];
$.isArray(num);