首頁 > web前端 > js教程 > 怎樣利用js判斷是不是數組

怎樣利用js判斷是不是數組

一个新手
發布: 2017-09-07 14:00:57
原創
1778 人瀏覽過

前言

本篇是基礎知識普及篇,js判斷資料型別等。我們都知道,php中有is_array()函數,但是js中沒有,我們判斷資料型別是否是數組的時候,通常是保險起見,可以寫個函數來判斷。今天呢,普及一些基本的資料類型判斷方法,希望對大家有幫助。

typeof篇

typeof用的比較多的時候,是判斷某個全域變數在不在,假如某個頁面定義了一個全域變數。假如你做以下判斷:

//haorooms是全局变量if(haorooms!=undefined){}//js会报错,说"Uncaught ReferenceError: haorooms is not defined"
登入後複製

解決的方法是我們如下寫:

 if(typeof haorooms!=undefined){
 }
登入後複製

用了typeof之後,就不會報錯了!這是typeof的應用之一!

此外,typeof還可以進行資料類型的判斷!如下:

var haorooms="string"; console.log(haorooms); //stringvar haorooms=1; console.log(haorooms); //numbervar haorooms=false; console.log(haorooms); //booleanvar haorooms; console.log(typeof haorooms); //undfinedvar haorooms= null; console.log(typeof haorooms); //objectvar haorooms = document; console.log(typeof haorooms); //objectvar haorooms = []; console.log(haorooms); //objectvar haorooms = function(){}; console.log(typeof haorooms) //function   除了可以判断数据类型还可以判断function类型
登入後複製

很明顯,對於typeof,除了前四個類型外,null、物件、陣列傳回的都是object型別;

instanceof 篇

#可以用其判斷是否為數組。

var haorooms=[];console.log(haorooms instanceof Array) //返回true
登入後複製

constructor 篇

constructor就是傳回物件相對應的建構子。

判斷各種資料型別的方法:

console.log([].constructor == Array);console.log({}.constructor == Object);console.log("string".constructor == String);console.log((123).constructor == Number);console.log(true.constructor == Boolean);function employee(name,job,born){
    this.name=name;
    this.job=job;
    this.born=born; }var haorooms=new employee("Bill Gates","Engineer",1985); console.log(haorooms.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}
登入後複製

透過輸出haorooms.constructor,可以看出constructor就是傳回物件相對應的建構子。


以上是怎樣利用js判斷是不是數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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