DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 如何判斷一個對象是否是數組。
如何判斷一個對象是否是數組。
編輯:JavaScript基礎知識     

  我們知道在js中除了function以外的所有對象如果用typeof來判斷的話,它們都顯示Object,但是有時候我們並不想這樣,比如我判斷一個數組就應該是個數組而不是打印Object。

var arr = [];
console.log(typeof arr);  //object

解決方法1:

var arr = [];
console.log(arr.constructor.name==="Array"); //true

解決方法2:

var arr = [];
console.log(arr instanceof Array); //true

解決方法3:

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

在這裡我推薦方法3,另外如果你不知道這些方法都是什麼意思,可以看一下JS對象的幾個方法介紹這篇文章。

如果你有一些基礎,那麼我給你解釋一下方法3是怎麼做到的。

  首先toString是obj的屬性,我通過構造函數Object的原型改變它的toString方法。如果沒有call打印的是prototype,用prototype.toString()打印出來的是Object,然後用call的話會將這個構造函數的this指向這個call裡面的第一個參數,通過這樣就可以打印它的類型了。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved