ES 5 中 判斷陣列的方法
阿新 • • 發佈:2018-12-26
原始碼:
<!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));
// 欲知後續如何 且聽我下回補充。