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));
相關文章
- 如何判斷JavaScript的資料型別?JavaScript資料型別
- JavaScript的資料型別如何判斷JavaScript資料型別
- python能判斷一個物件的型別嗎Python物件型別
- javascript如何判斷一個物件是不是陣列JavaScript物件陣列
- javascript中如何判斷變數的型別?JavaScript變數型別
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- JavaScript判斷資料型別JavaScript資料型別
- javascript資料型別判斷JavaScript資料型別
- javascript 資料型別判斷JavaScript資料型別
- 前幾天為了精準判斷物件型別,封裝一個高大上的資料型別的判斷,裝個逼物件封裝資料型別
- JS 物件 1.型別的判斷JS物件型別
- 如何判斷一個物件是否為jQuery物件物件jQuery
- 如何判斷Javascript物件是否存在JavaScript物件
- java中判斷Object物件型別JavaObject物件型別
- Javascript 中的資料型別判斷JavaScript資料型別
- javascript中的typeof和型別判斷JavaScript型別
- JavaScript中的型別判斷,瞭解一下?JavaScript型別
- JavaScript 專題之如何判斷兩個物件相等JavaScript物件
- 如何判斷一個jquery物件是否存在jQuery物件
- js如何判斷一個物件是否存在JS物件
- javascript 布林型別值判斷JavaScript型別
- javascript如何判斷Object是空物件JavaScriptObject物件
- 如何判斷 JavaScript 物件是否為空?JavaScript物件
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- javascript 判斷各種資料的型別JavaScript型別
- JavaScript 中對變數型別的判斷JavaScript變數型別
- JavaScript 資料型別與型別判斷詳解JavaScript資料型別
- 如何判斷變數型別變數型別
- Javascript判斷空物件JavaScript物件
- JavaScript專題之型別判斷(上)JavaScript型別
- JavaScript專題之型別判斷(下)JavaScript型別
- js如何判斷節點的型別JS型別
- 如何判斷一個物件是否在指定物件的原型鏈中物件原型
- 手把手帶你寫一個JavaScript型別判斷小工具JavaScript型別
- javascript如何判斷一個變數是否宣告JavaScript變數
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- JavaScript 判斷瀏覽器的型別和版本JavaScript瀏覽器型別
- javascript中對變數型別的判斷方法JavaScript變數型別