了解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]
看到這裡,剛才的問題我們解決了。
其實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判斷資料型別
1 typeof 形如 var x xx typeof x string 返回型別有 undefined string number boolean function object 缺點 對於object型別不能細分是什麼型別 優點 對空null的判斷 undefined 的應用 2 instanc...
js判斷資料型別
1 判斷是否為陣列型別 2 判斷是否為字串型別 3 判斷是否為數值型別 isnan 變數 如果為true就是數字型別 注意這個函式一般針對數字型別來判斷是否值為nan,若變數為非數字型別,則先轉化為數字型別再做判斷,用此函式時,別忘考慮空串和空格 這倆轉化為數字是0 4 判斷是否為日期型別 5 判斷...
JS判斷資料型別
這是我在csdn上寫的第一篇部落格 從2018.7月自學前端到現在,路上遇到太多問題和知識點,一開始記在onenote中 排版不舒服,後來知道了markdown語法便用typora軟體寫,但也沒有同步的功能 這兩天看 範仁義 的部落格主頁,才意識到 每天寫部落格不就可以達到 記錄複習分享的過程嗎。今...