源代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>1</div>
<div>2</div>
<div>3</div>
  <script type="text/javascript">
   // 获取类数组对象
  var obj = document.getElementsByTagName("div");
  // 定义数组
  var arr = [];
  </script>
</body>

方法一: 判断对象的类型(toString)

console.log(Object.prototype.toString.call(obj) === "[object Array]");
console.log(Object.prototype.toString.call(arr) === "[object Array]");

方法二: 判断是否是实例化对象(instanceOf)

     instanceOf用于判断一个变量是否某个对象的实例。

   console.log(obj instanceof Array);
    console.log(arr instanceof Array);
 
    // 构造函数是Object的时候, 也是true
    console.log(arr instanceof Object);

方法三: 判断构造函数是否是Array(constructor)

console.log(obj.constructor === Array);
console.log(arr.constructor === Array);
console.log(arr.constructor === Object); // false

方法四: 数组的静态(isArray)

console.log(Array.isArray(obj));
console.log(Array.isArray(arr));

注意:

console.log(arr instanceof Object);

可以确定数组是一个对象,但不能判断是否是数组。

obj的的__proto__ 指向HTMLCollection最终指向Object。

HTMLCollection。 他本身是一个对象,一个类数组对象。而并非是一个数组。

直接对HTMLCollection是不能采用对dom元素的操作方式来操作的。比如htmlCL.style.color=”red”;是无效的。原因很简单,htmlCL并不是dom对象,她不具备dom所拥有的属性;

当然我们可以使用数组式选择方式来选择其中的一个元素。比如
htmCl[0];返回的则是对象里面的第一个元素,则可以对他进行操作
如:htmCl[0].style.color=”red”;

//   欲知后续如何 且听我下回补充。   

  

ES 5 中 判断数组的方法的更多相关文章

  1. JS中判断数组的方法

    JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...

  2. Javascript中判断数组的正确姿势

    在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...

  3. 判断数组的方法/判断JS数据类型的四种方法

    参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...

  4. javascript最全最好的判断数组的方法

    var arr = [1,2,3,1]; var arr2 = [{ abac : 1, abc : 2 }]; function isArrayFn(value){ if (typeof Array ...

  5. thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...

  6. JavaScript中判断对象类型方法大全1

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

  7. JavaScript中Array数组的方法

    查找: indexOf.lastIndexOf 迭代:every.filter.forEach.map.somereduce.reduceRight 用法: /* 1 查找方法: * arr.inde ...

  8. js中Array数组基本方法

    总结:push() 添加元素到数组未尾, 返回数组长度 unshift() 添加元素到数组头部, 返回数组长度 pop() 删除数组未尾元素, 返回删除元素 shift() 删除数组头部元素, 返回删 ...

  9. IOS开发_中遍历数组的方法及比较

    数组,做为一种常用的数据类型,频繁出现在编码中,其中肯定少不了对数组的遍历,本博文对数组遍历,进行一下自己的归纳,如果是大牛,一笑而过就好,互相学习,欢迎指正. 话不多说直接进入主题 首先创建一个数组 ...

随机推荐

  1. 第一阶段:Java内功秘籍-线性表

    前言 为什么要学习数据结构与算法,如果你学会了做安卓,javaweb,前端等,都是你的武功秘籍,但是如果你的内功不够好,再厉害的功夫也是白费. 数据结构和算法:什么是数据结构,什么是数据,在计算机内部 ...

  2. 如何在 SCSS 使用 JavaScript 变量/scss全局变量

    Update2019/3/6:发现一个更好的方法,预处理器加载一个全局设置文件 官方github给出了详细的配置. 在 SCSS 中使用变量很方便,创建一个 variables.scss 文件,里面声 ...

  3. Git 常用命令备份

    继上次保存了git 多个key共存配置(https://www.cnblogs.com/xiaochangwei/p/9155195.html)后,今天把常见的git命令备份下(最近我的云笔记账号经常 ...

  4. Liferay7 BPM门户开发之9: 流程表单数据动态映射体系

    设计目的: 每个流程表单涉及不同的表单变量.比如请假流程有3个任务节点,分别是 Task1:开始流程,填写请假人.请假原因.请假开始时间.请假结束时间: Task2:上级审批,填写是否同意,审批意见: ...

  5. iOS- XKZoomingView 简单的图片缩放预览,支持横屏、长图【手势:单击、双击、放大缩小】

    XKZoomingView.h #import <UIKit/UIKit.h> @interface XKZoomingView : UIScrollView /** 本地图片 */ @p ...

  6. python itchat+机器人web api实现个人微信机器人

    模块 itchat 功能 实现微信回复机器人(调用图灵机器人api) 代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- #Author:Eric im ...

  7. Python网络编程-IO阻塞与非阻塞及多路复用

    前言 问题:普通套接字实现的服务端的缺陷 一次只能服务一个客户端!                         accept阻塞! 在没有新的套接字来之前,不能处理已经建立连接的套接字的请求 re ...

  8. PCA历程详细python代码(原创)

    #PCA主成分分析,原文为文末的链接,代码为自己亲自手码 def cov_out1(dx,dy): #第一步:求解x,y各自的均值 mean_x=0 mean_y=0 for i in range(l ...

  9. ionic的学习-02路由中的几个参数

    Part1  路由中的几个参数 第一步:看几个参数的位置 ①ionic中是通过<ion-nav-view></ion-nav-view>实现不同模板渲染跳转的. ②ionic中 ...

  10. postman传递对象到spring controller的方式

    1.spring Controller @RestController @RequestMapping(value = "/basic/task") public class Ta ...