javascript如何判斷一個物件的型別
在實際應用中,可能需要確切的知道一個物件是屬於何種型別,比如是字串型別還是輸時間型別,下面本章節就通過例項程式碼進行一下簡單介紹,希望能夠對需要的朋友帶來一定的幫助。
一.typeof 運算子:
使用此運算子可以返回一個字串用語說明物件的型別,例如:
[JavaScript] 純文字檢視 複製程式碼var str="I love antzone"; console.log(typeof(str));
以上程式碼的可以輸出"string"。
此運算子的返回值可以是"number","string","boolean","object","function","undefined"。
但是此運算子並不夠精準,對於Date、RegExp和Array物件的返回值都是object,例如:
[JavaScript] 純文字檢視 複製程式碼var theArray=[1,2,3]; var theReg=/ab/; var theDate=new Date(); console.log(typeof(theArray)); console.log(typeof(theReg)); console.log(typeof(theDate));
二.instanceof運算子:
此運算子可以檢測一個物件是否是指定的類的物件例項,如果是則返回true,否則返回false,例如:
[JavaScript] 純文字檢視 複製程式碼var theArray=[1,2,3]; var theReg=/ab/; var theDate=new Date(); console.log(theArray instanceof Array); console.log(theReg instanceof RegExp); console.log(theDate instanceof Date);
更多instanceof運算子相關內容可以參閱javascript instanceof 運算子一章節。
三.constructor屬性:
在javascript中,每一個物件都具有constructor屬性,它指向初始化該物件的建構函式(就是類),用常用來判斷物件的型別。使用typeof運算子來判斷一個物件的型別往往不夠準確,此運算子能夠判斷原始型別的物件的型別,但是對於引用型別的就不能夠準確判斷了,例如:
[JavaScript] 純文字檢視 複製程式碼var numOne=new Number(1); var numTwo=2; console.log(typeof(numOne)); console.log(typeof(numTwo));
上面的程式碼第一個輸出是"object",第二個輸出是"number"。
於是可以和constructor屬性配合使用,例如判斷一個物件是否是陣列可以以如下方式:
[JavaScript] 純文字檢視 複製程式碼function isArray(arr){ return typeof arr=="object"&&arr.constructor==Array; } var theArray=[1,2,3]; console.log(isArray(theArray));
相關文章
- python能判斷一個物件的型別嗎Python物件型別
- JavaScript的資料型別如何判斷JavaScript資料型別
- 如何判斷JavaScript的資料型別?JavaScript資料型別
- javascript中如何判斷變數的型別?JavaScript變數型別
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- JavaScript判斷資料型別JavaScript資料型別
- 前幾天為了精準判斷物件型別,封裝一個高大上的資料型別的判斷,裝個逼物件封裝資料型別
- JavaScript中的型別判斷,瞭解一下?JavaScript型別
- 如何判斷 JavaScript 物件是否為空?JavaScript物件
- javascript如何判斷Object是空物件JavaScriptObject物件
- 如何判斷一個物件是否為空?物件
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- javascript 判斷各種資料的型別JavaScript型別
- Javascript判斷空物件JavaScript物件
- JavaScript 資料型別與型別判斷詳解JavaScript資料型別
- 如何判斷變數型別變數型別
- python如何判斷一個物件是否是列表Python物件
- 手把手帶你寫一個JavaScript型別判斷小工具JavaScript型別
- JavaScript 判斷瀏覽器的型別和版本JavaScript瀏覽器型別
- javascript中對變數型別的判斷方法JavaScript變數型別
- JavaScript判斷變數型別的四種方法JavaScript變數型別
- JavaScript資料型別判斷的四種方法JavaScript資料型別
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- 深入理解 JavaScript 中的型別和型別判斷問題JavaScript型別
- 判斷javaScript變數是Ojbect型別還是Array型別JavaScript變數型別
- 我所知道的JavaScript中判斷資料型別JavaScript資料型別
- Javascript 如何判斷物件為空 {},以及是否包含某個屬性?JavaScript物件
- 使用帶型別判斷的比較判斷型別
- Qt元物件系統自帶型別與註冊型別的判斷QT物件型別
- 判斷一個物件為空物件的5種方法物件
- js判斷型別JS型別
- JS 型別判斷JS型別
- 如何判斷一個js物件是否存在迴圈引用JS物件
- 【JavaScript 學以致用】值的判斷以及型別轉換JavaScript型別
- 最安全的型別判斷型別
- js中的型別判斷JS型別
- javascript中如何判斷一個字串是否為JSON格式JavaScript字串JSON
- JDK是如何判斷兩個物件是否相同的?判斷的流程是什麼?JDK物件
- 記一次關於js陣列型別判斷及js型別判斷的細節探索JS陣列型別