如何判断一个js对象是否是Array,arr为要判断的对象,其中最准确的方法是?
typeof(arr);
arr instanceof Array
arr.toString==='[object Array]';
Object.prototype.toString.call(arr) === '[object Array]';
在什么情况下用什么方法呢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
1.
typeof一定是不准确的,因为会给你返回“object”2.没问题,返回布尔值
3.基本没问题,但是容易被改写,不如
prototype安全4.没问题,基本很少有人去改写
prototype上的属性方法Array.isArray()在IE8以下版本不可用,用第四个方法一般肯定没问题的。
所以比较好的办法是
underscore.js使用的就是这个办法
Array.isArray([])最后一种方法没有局限性,推荐最后一种
也就 第二种 和 最后 一种 有用
不过 我 觉得 最后 一种 好点