js中如何判断一个变量是数组还是对象

发布于 分类 html5-js-css

0311lc.com说:

在javascript中当使用typeof方法来判断[]和{}时,返回值都是’object’,那么如何来判断一个变量是数组还是对象呢?这里记录两种方法:

利用toString()方法
Object.prototype.toString.call({}) // [object Object]
Object.prototype.toString.call([]) // [object Array]

利用Array.isArray()方法
Array.isArray([]) // true
Array.isArray({}) // false

利用第一种方法去判断兼容性更好一些,假如不存在Array.isArray()方法可以这么创建该方法:

if (!Array.isArray) {
Array.isArray = function(arg) {
return Object.prototype.toString.call(arg) === ‘[object Array]’;
};
}


发表评论

电子邮件地址不会被公开。 必填项已用*标注