看到一個是不是數字的判斷方法不錯,所以記錄下來
- return typeof obj === 'number' && !isNaN(obj)
- }
這個isNumber不錯了,但還有一個等價的,用isFinite來判斷
- function isNumber(obj) {
- return typeof obj === 'number' && isFinite(obj)
- }
到現在,最短代碼的數字判斷是此文提到的第三個使用isNaN函數的。下面隆重推出世界上最短的數字判斷代碼
沒看懂是嗎? 咕~~(╯﹏╰)
博友說這還不是世界上最短判斷數字代碼,參數obj可以改成一個字符的。(⊙o⊙)你是對的。
對於整數,浮點數返回true,對於NaN或可轉成NaN的值返回false。
- function isNumber(obj) {
- return obj === +obj
- }
舉一反三,類似的利用JS動態語言特性(運算符運算時內部自動類型轉換)最短的判斷還有
判斷字符串
- function isString(obj) {
- return obj === obj+''
- }
判斷布爾類型
- function isBoolean(obj) {
- return obj === !!obj
- }
參考: http://www.cnblogs.com/xiezhengcai/p/3689069.html
