本篇是基礎知識普及篇,js判斷數據類型等。我們都知道,php中有is_array()函數,但是js中沒有,我們判斷數據類型是否是數組的時候,通常保險起見,可以寫個函數進行判斷。今天呢,普及一些基本的數據類型判斷方法,希望對大家有所幫助。
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類型;
可以用其判斷是否是數組。
var haorooms=[];console.log(haorooms instanceof Array) //返回true
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); //
通過輸出haorooms.constructor,可以看出constructor就是返回對象相對應的構造函數。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com