位置: 编程技术 - 正文

JavaScript判断对象是否为数组(js对象判断)

编辑:rootadmin

推荐整理分享JavaScript判断对象是否为数组(js对象判断),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript 判断,js对象判断是否有某个属性,javascript 判断,javascript 判断,javascript判断对象为空,js判断对象类型的两种方法,javascript的判断语句,javascript判断对象为空,内容如对您有帮助,希望把文章链接给更多的朋友!

文中为大家分享了三种JavaScript判断对象是否为数组的方法,

1. typeof

首先我们会想到的是使用typeof来检测数据类型,但是对于Function, String, Number, Undefined等这几种基本类型来说,使用typeof来检测都可以检测到,比如代码如下:

JavaScript判断对象是否为数组(js对象判断)

但是对于数组或者正则来说,使用typeof来检测的话,那就满足不了,因为当我们检测数组或者正则的话,那么返回的类型将会是一个对象object,如下代码所示:

2. Instanceof

由此我们很容易会想到使用instanceof来检测某个对象是否是数组的实例,该检测会返回一个布尔型(boolean),如果是数组的话,返回true,否则的话返回false;我们再来看下上面的检测是否为数组的代码如下:

如上可以看到使用instanceof确实可以判断是否为数组的列子;3. constructor属性

在javascript中,每个对象都有一个constructor属性,它引用了初始化该对象的构造函数,比如判断未知对象的类型,因此我们可以如下写一个方法,代码如下:

如上可以看到,通过调用isArray 方法也可以判断是否为数组的列子。我们现在可以看到,对于第二点和第三点分别使用instanceof方法和constructor属性貌似都可以来判断是否为数组了,但是也有列外情况,比如在跨框架iframe的时候使用页面中的数组时,会失败,因为在不同的框架iframe中,创建的数组是不会相互共享其prototype属性的;如下代码测试即可得到验证~

如上的方法我们都不能来判断一个对象是否为数组的方式; 但是我们在看ECMA中可以看到,可以使用 Object.prototype.toString.call()方法来判断一个对象是否为数组;如下代码:

本文链接地址:https://www.jiuchutong.com/biancheng/386351.html 转载请保留说明!

上一篇:javascript中类的定义方式详解(四种方式)(javascript 类)

下一篇:js实现C#的StringBuilder效果完整实例(c#string stringbuilder)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络