首頁 > web前端 > js教程 > JavaScript判斷變數是物件還是陣列的方法介紹

JavaScript判斷變數是物件還是陣列的方法介紹

巴扎黑
發布: 2017-07-18 17:02:10
原創
1373 人瀏覽過
  1.   因為無論是數組還是對象,對於typeof的操作返回值都為object,所以就有了區分數組類型和對象類型的需要:

  2. #方一:透過length屬性:一般情況下物件沒有length屬性值,其值為undefiend,而陣列的length值為number類型

  3.   缺點:非常不實用,當對象的屬性存在length,且其值為number(例如類別數組),則方法失效,不建議使用,看看即可。

  4. *方二:透過instanceof來判斷區分

  5. #1.instanceof 

var arr = [1, 2, 3];
var obj = {
    name: 'lyl',
    age: 18,
    l: 'name'
}
console.log(arr instanceof Array); //true
console.log(obj instanceof Array) ; //false
 

2.constructor

 
#var arr = [1, 2, 3];
var obj = {
    name: 'lyl',
    age: 18,
    1: 'name'
}
console.log(arr.constructor = == Array); //true
console.log(obj.constructor === Array); //false
 

3.Object.prototype.toString()

 
var arr = [1, 2, 3];
var obj = {
    name: 'lyl',
    age: 18,
    1: 'name'
##}
console.log(Object.prototype.toString.call(arr) === '[object Array]'); / /true
console.log(Object.prototype.toString.call(boj) === '[object Array]'); //false
 
#4.陣列僅有的方法(如:sort,pop等)

 

var arr = [1, 2, 3];
var obj = {
    name: 'lyl ',
    age: 18,
    1: 'name'
}
console.log(arr.sort === Array.prototype.sort); //true
console.log(obj.sort === Array.prototype.sort); //false
#

以上是JavaScript判斷變數是物件還是陣列的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板