zoukankan      html  css  js  c++  java
  • ES 5 中 判断数组的方法

    源代码:

    <!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”;

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

      

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    基于分布式锁解决定时任务重复问题
    基于Redis的Setnx实现分布式锁
    基于数据库悲观锁的分布式锁
    使用锁解决电商中的超卖
  • 原文地址:https://www.cnblogs.com/wehome/p/10180300.html
Copyright © 2011-2022 走看看