一, 自己有時候寫一些東西,要做類型判斷,還有測試的時候,對於原生的和jQuery中的類型判斷,實在不敢恭維,所以就寫了一個好用的類型判斷,一般情況都夠用的。 1 function test(type) { 2 if(type null || type undefined) { 3 return t ...
一,
自己有時候寫一些東西,要做類型判斷,還有測試的時候,對於原生的和jQuery中的類型判斷,實在不敢恭維,所以就寫了一個好用的類型判斷,一般情況都夠用的。
1 function test(type) { 2 if(type === null || type === undefined) { 3 return type; 4 } 5 // 如果是對象,就進裡面判斷,否則就是基本數據類型 6 else if (type instanceof Object) { // js對象判斷, 由於typeof不能判斷null object,所以只能提前判斷,互相補充 7 if(type instanceof Function) { 8 return 'Function'; 9 }else if(type instanceof Array) { 10 return 'Array'; 11 } else if(type instanceof RegExp){ 12 return 'RegExp'; 13 }else if(type instanceof Date) { 14 return 'Date'; 15 } 16 // 判斷是節點對象還是JQuery對象,很有用,新手一般來說分不清什麼是什麼類型 17 else if(type instanceof Node){ 18 return 'Node'; 19 }else if(type instanceof jQuery){ 20 return 'jQuery'; 21 } 22 else{ 23 return 'Object'; 24 } 25 } 26 // 基本數據類型 27 else { 28 return typeof type; 29 } 30 }View Code
二,
原生的代碼限制很多,
typeof只能判斷基本數據類型外加undefied,Function。null會判斷為object,Object和Array會判斷為Object。
instanceof 只能判斷對象
=== 可以判斷null,undefined。
把上面三種方式組合起來,才能判斷這些基本的類型。我有加入了另外幾種類型判斷,對於新手和老手,都是不錯的工具。希望大家喜歡吧!