了解js的都知道, 有個typeof 用來判斷各種資料型別,有兩種寫法:typeof *** ,typeof(***)
如下例項:
typeof 2 輸出 number
typeof null 輸出 object
typeof {} 輸出 object
typeof 輸出 object
typeof (function(){}) 輸出 function
typeof undefined 輸出 undefined
typeof '222' 輸出 string
typeof true 輸出 boolean
這裡面包含了js裡面的五種資料型別 number string boolean undefined object和函式型別 function
看到這裡你肯定會問了:我怎麼去區分物件,陣列和null呢?
接下來我們就用到另外乙個利器:object.prototype.tostring.call
這是物件的乙個原生原型擴充套件函式,用來更精確的區分資料型別。
我們來試試這個玩兒意兒:
var gettype=object.prototype.tostring
gettype.call('aaaa') 輸出 [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=;
var
typearr = [
'string'
,
'object'
,
'number'
,
'array'
,
'undefined'
,
'function'
,
'null'
,
'symbol'
];
for
(
var
i = 0; i < typearr.length; i++)
})(typearr[i]);
}
return
type;
})();
呼叫方法:type.isfunction(
function
() {}) type.isobject({})。。。。。
type.is.....
今天講的內容不是很多,大家對於當前所講的東西有啥要補充的可以留個言。。。
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 undefined undefined typeof 222 string typeof true bool...
JS 判斷各種資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...