在 ECMAScript5中定义了一个新的方法Array.isArray(). 如果参数是数组的话,就返回true

eg:

Array.isArray([]); // true

如果里面换一个类似数组的对象字面量(object literal)呢

Array.isArray({
name: "Luke",
"0": 1,
test: function() {}
}); // false

但是如果你的开发环境不支持ECMAScript5, 也就是说你没法使用Array.isArray()方法,你又该怎么做呢

这时,你可以通过Object.prototype.toString()方法来代替, 调用Object.prototype.toString.call()方法,并传入数组对象,将返回字符串"[object Array]". 如果传入的是对象上下文,那么返回的字符串则是"[object Object]"

所以,如果Array.isArray 不顶用,我们可以重写方法如下,假如要判断的数组对象为testArgs

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

JavaScript判断是否是数组的更多相关文章

  1. javascript判断是否为数组 面试题

    1.方法 instanceof:多框架下有问题(看示例代码). Object.prototype.toString.call():兼容性很好 Array.isArray: IE9+以上 constru ...

  2. JavaScript判断对象和数组

    在调用后端接口时,由于后端接口的不规范统一,接口最外层在没有数据时返回的是空数组(其实更想要的是空json对象,接口返回的data数据应该统一返回json对象,便于扩展),而在有数据时返回的是json ...

  3. javascript 判断是否是数组

    function isArray(object){ return object && typeof object==='object' && typeof object ...

  4. 用JavaScript判断一个对象是否数组?

    Q:如何判断一个对象是否为数组? A1:判断对象的constructor是否指向Array, 接着判断对应的特殊属性,如length,splice之类.这个很容易冒充. A2:使用instanceof ...

  5. 同事问如何判断同花顺,我用javascript的二维数组写了个简易demo

    有个前同事在群里问如何判断是否为同花顺我用javascript的二维数组写了个简易demo. <!DOCTYPE html> <html> <body> <s ...

  6. JavaScript判断该对象是否为数组

    typeof 用来检测数据类型,Function, String, Number, Undefined都可以使用typeof来判断. function test(){} console.log(typ ...

  7. JavaScript判断数组是否包含指定元素的方法

    本文实例讲述了JavaScript判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: 这段代码通过prototype定义了数组方法,这样就可以在任意数组调用contains方法 /** ...

  8. javascript 判断变量是否是数组(Array)

    过完春节又有好多人寻找新的机会,旁边的人面试完就会分享一些问题,明明会的但是面试的时候,想不全,面试官不满意...这个懊恼的行为,今天的文章跟大家分享下:javascript如何判断便是是数组. 1. ...

  9. Javascript 判断传入的两个数组是否相似

    任务描述: 请在index.html文件中,编写arraysSimilar函数,实现判断传入的两个数组是否相似.具体需求: 1. 数组中的成员类型相同,顺序可以不同.例如[1, true] 与 [fa ...

随机推荐

  1. 关于setdefault和defaultdict

    c参考链接:http://blog.csdn.net/real_ray/article/details/17919289 defaultdict就是为没有的键给一个默认的值,实际是实现了一个__mis ...

  2. jquery ajax 跨域设置

    xhrFields: { withCredentials: true},crossDomain: true,

  3. Aix之 xmanager 2.0连接AIX服务器

    xmanager连接AIX服务器可以分为两种情况:1.连接IBM服务器,使用远程桌面功能进行系统维护.要求这台服务器已经安装了图形桌面,如CDE等,并启动到图形界面.在xmanager中的Xbrows ...

  4. ActiviMQ(1)

    1. ActiviMQ是实现JMS接口和规范的消息中间件(Provider), 2. JMS,Java Message Service, java消息服务,是JavaEE中的一个技术 3. JMS规范 ...

  5. yii2 csrf验证原理分析

    知识补充 因为yii2 csrf的验证的加解密 涉及到异或运算 所以需要先补充php里字符串异或运算的相关知识,不需要的可以跳过 ^异或运算不一样返回1 否者返回 0在PHP语言中,经常用来做加密的运 ...

  6. PTA 是否同一棵二叉搜索树(25 分)

    是否同一棵二叉搜索树(25 分) 给定一个插入序列就可以唯一确定一棵二叉搜索树.然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到.例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始 ...

  7. 界面主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序

    主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序1.执行主窗体定义事件 new函数时,同时执行主窗体构造函数,默认就一个InitializeComponent函 ...

  8. 第十九章 MySQL Cluster(待续)

    ··········

  9. 使用Fiddler对android应用抓http或https包

    工作原理 先上个图 此图一目了然,可以看出fiddler在请求中所处的位置,我们就可以确定它能干些什么.   WinInet(“Windows Internet”)API帮助程序员使用三个常见的Int ...

  10. QR 码的位置检测符

    QR码的位置检测符由三个同心正方形叠加而成.分别为: 7*7 modules的黑色正方形: 5*5 modules的白色正方形 : 3*3modules的黑色正方形. 三个用于定位检测的“回”形符号应 ...