首頁 > web前端 > js教程 > JS判斷資料型別的方法有哪些

JS判斷資料型別的方法有哪些

清浅
發布: 2019-04-18 11:09:34
原創
2683 人瀏覽過

JS判斷資料型別的方法有:typeof方法用來傳回該型別的字串形式,instanceof方法用來判斷原型,constructor方法以及Object.prototype.toString 方法

##在JavaScript中有多種方法可以幫助我們去判斷數據類型,接下來將在文章中為大家詳細介紹這些方法,具有一定的參考作用希望對大家有所幫助。


JS判斷資料型別的方法有哪些

【推薦課程:JavaScript教學

方法一:typeof方法

typeof 是一個運算子,右邊是一個一元表達式,並且傳回這個表達式的資料型別。傳回的結果以該類型的字串的形式表示,包括:number、boolean、symbol、string、object、undefined、function 等。

傳回值分成以下幾種型別:

對於基本型別。除了null值傳回object以外,其他都傳回正確的結果

對於參考值來說,除了function回傳function類型,其他都回傳object類型

例:

<script type="text/javascript">
var a = "string";
 console.log(a); //string
 var a = 1;
 console.log(typeof a); //number
 var a = false;
 console.log(typeof a); //boolean
 var a;
 console.log(typeof a); //undfined
 var a = null;
 console.log(typeof a); //object
 var a = document;
 console.log(typeof a); //object
 var a = [];
 console.log(a); //[]
 var a = function() {};
 console.log(typeof a) //function 
</script>
登入後複製

效果圖:

JS判斷資料型別的方法有哪些

#方法二:instanceof方法

instanceof 是用來判斷A 是否為B 的實例,表達式為:A instanceof B,如果A 是B 的實例,則傳回true,否則傳回false。這裡要特別注意的是:instanceof 檢測的是原型。

<script type="text/javascript">
var a=[];
console.log(a instanceof Array)
</script>
登入後複製

傳回的結果:true

#方法三:constructor方法

當一個函數被定義時,JS引擎會為它新增prototype 原型,然後再在prototype上新增一個constructor 屬性,並讓其指向該函數的參考。

JS判斷資料型別的方法有哪些

當執行var f = new F() 時,F被當成了建構函數,f 是F的實例對象,此時F 原型上的constructor 傳遞到了f上,因此f.constructor == F

JS判斷資料型別的方法有哪些

方法四:Object.prototype.toString 方法

toString是Object原型物件上的一個方法,該方法默認返回其調用者的具體類型,更嚴格的講,是toString運行時this指向的對象類型, 返回的類型格式為[object,xxx],xxx是具體的數據類型,其中包括:String,Number,Boolean,Undefined,Null,Function,Date,Array,RegExp,Error,HTMLDocument等等都可以透過這個方法取得。

console.log(Object.prototype.toString.call(num));
console.log(Object.prototype.toString.call(&#39;&#39;)) ;  
console.log(Object.prototype.toString.call(1)) ;   
console.log(Object.prototype.toString.call(true)) ; 
console.log(Object.prototype.toString.call(null)) ; 
console.log(Object.prototype.toString.call(new Function()) ); 
console.log(Object.prototype.toString.call(new Date())) ; 
console.log(Object.prototype.toString.call([])) ; 
console.log(Object.prototype.toString.call(document)) ; 
console.log(Object.prototype.toString.call(window) );
登入後複製

效果圖:

Image 015.png

#總結:以上就是這篇文章的全部內容了,希望對大家有幫助

以上是JS判斷資料型別的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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