测试变量是否为数组的最佳方法

可能重复:
如何检测一个变量是否是一个数组

当我需要测试变量是否是一个数组(例如可以是对象或数组的函数中的输入参数)时,我通常使用这段代码

typeof(myVar) === 'object' && myVar.length !== undefined;

这是正确的方式,还是有更有效的方法,考虑到即使myVar instanceof Array更快,由于iframe问题应该避免?


Array.isArray现在可用于ECMAScript 5,因此您可以将它与polyfill一起用于旧版浏览器:

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

Array.isArray(myVar);

在我看来,“iframe问题”可以简单地通过不使用同一个名称来完成,在我看来,这并不难。但是,我从来没有必要断言某件事是否是阵列...


如果你已经在代码中使用了jQuery,你可以使用jQuery.isArray()。 这里是文档:

http://api.jquery.com/jQuery.isArray/

链接地址: http://www.djcxy.com/p/19317.html

上一篇: best way to test if a variable is an array

下一篇: How to handle string or array of strings in mustache template