在用javaScript程式設計的過程中,我們常常會遇到這樣一個問題,就是需要偵測一個資料或變數的類型,本篇文章主要介紹了在javaScript中偵測資料類型的幾種方式小結,有興趣的可以了解一下。
在用javaScript程式設計的過程中,我們常常會遇到這樣一個問題,就是需要偵測一個資料或變數的型別,那麼在javaScript中提供了哪些方法給我們呢?網路上流傳的程式碼比比皆是,但是發現其中有些是有誤的,索性我自己動手把每種方法用了一遍,今天我專門整理了下,以便以後查閱。
一、typeof 偵測
#typeof 是一個一元運算子,語法:typeof (運算數),運算數可以是任意型別。它的傳回值是一個字串,該字串說明運算數的類型。
// var arr = { name:"john"}; // object // var arr = ["语文","数学"]; // object // function Person() {}; // typeof(Person) => function // var arr = '我是字符串' ; // string // var arr = 66 ; // number // var arr = true ; // boolean // var arr = new Person(); // object // var arr = undefined; // undefined // var arr = null; // object // var arr = /^\d{5,20}$/; // object // console.log( typeof(arr) );
二、instanceof 偵測
#instanceof 偵測某個物件是不是另一個物件的實例,可以在繼承關係中用來判斷一個實例是否屬於它的父型別。
// var arr = '我是字符串' ; // console.log( arr instanceof String ) => false // var arr = 66 ; // console.log( arr instanceof Number ) =>false // var arr = true ; // console.log( arr instanceof Boolean ) =>false // var arr = ["语文","数学"]; // console.log( arr instanceof Array ) =>true // var arr = { name:"john"}; // console.log( arr instanceof Object ) =>true // var arr = function Person(){}; //console.log(arr instanceof Function)=>true // var arr = undefined; // console.log(arr instanceof Object)=>false // var arr = null; // console.log(arr instanceof Object)=>false // var arr = /^\d{5,20}$/; // console.log(arr instanceof RegExp)=>true
三、Object.prototype.toString.call 偵測
使用Object.prototype上的原生toString()方法判斷資料類型,使用方法如下:Object.prototype.toString.call(value)
// var arr = '我是字符串' ; //[object String] // var arr = 66 ; //[object Number] // var arr = true ; //[object Boolean] // var arr = ["语文","数学"]; //[object Array] // var arr = { name:"john"}; //[object Object] // var arr = function Person(){}; //[object Function] // var arr = undefined; //[object Undefined] // var arr = null; //[object Null] // var arr = /^\d{5,20}$/; //[object RegExp] // console.log( Object.prototype.toString.call(arr) );
以上是詳解在javaScript中偵測資料類型的幾種方式總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!