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

标签 javascript

<分区>

Possible Duplicate:
How to detect if a variable is an array

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

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

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

最佳答案

Array.isArray现在可用 ECMAScript 5 ,因此您可以将其与 polyfill 一起使用对于 older browsers :

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

Array.isArray(myVar);

关于javascript - 测试变量是否为数组的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621632/

相关文章:

c# - 将对象发送到 C# 中的 Javascript 函数

javascript - 动态添加两个表单字段到表单

javascript - 如何使用 React + React-router 制作 Facebook 照片预览样式

javascript - 如何在ES6中引用未命名的解构参数?

javascript - 使用键盘自动滚动 - 但仅适用于某些部分 - 使用 fullpage.js 时

javascript - jQuery 一个函数没有按预期工作

javascript - 单击按钮动态加载 DIV 的最简单方法?

javascript - 提交后清除表单字段

javascript - jquery 在点击时在多个图像之间切换

javascript - 服务器端表单数据的数据类型