js 判斷各種資料型別

2021-08-08 01:30:45 字數 1929 閱讀 8674

了解js的都知道, 有個typeof 用來判斷各種資料型別,有兩種寫法:typeof *** ,typeof(***)

如下例項:

typeof

2//number

typeof

null

//object

typeof

undefined

//undefined

typeof

'222'

//string

typeof

true

//boolean

typeof {} //object

typeof //object

typeof (function

(){}) //function

這裡面包含了js裡面的五種基本資料型別 number string boolean null undefined和引用資料型別object

看到這裡你肯定會問了:我怎麼去區分物件,陣列和null呢?

接下來我們就用到另外乙個利器object.prototype.tostring.call

這是物件的乙個原生原型擴充套件函式,用來更精確的區分資料型別。

我們來試試這個玩兒意兒:

var gettype=object.prototype.tostring

gettype.call('aaaa') // [object string]

或 gettype.call(new

string('abc'))// [object string]

gettype.call(2222) //[object number]

gettype.call(true) //[object boolean]

gettype.call(undefined) //[object undefined]

gettype.call(null) //[object null]

gettype.call({}) //[object object]

gettype.call() //[object array]

gettype.call(function

(){}) //[object function]

看到這裡,剛才的問題我們解決了。 

constructor也能判斷資料型別,如:

''.constructor==string;    

.constructor==array;

var obj= new object();

obj.constructor==object;

其實js 裡面還有好多型別判斷

[object htmldivelement] div 物件

[object htmlbodyelement] body物件

[object document](ie)或者

[object htmldocument](firefox,google)

...各種dom節點的判斷,這些東西在我們寫外掛程式的時候都會用到。

可以封裝的方法如下 :

var gettype=object.prototype.tostring

var utility=,

isarray:function

(o),

isnull:function

(o),

isdocument:function

() ........

}

js 判斷各種資料型別

了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...

JS 判斷各種資料型別

了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...

js 判斷各種資料型別

了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...