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));

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

  

猜你喜欢

转载自www.cnblogs.com/serdy/p/10180300.html