記錄看到或者用到的js代碼,長期更新! 判斷是否是正整數 解析: number 0 轉換成數字,再通過位移運算(|)判斷是否跟原數字相等 安全檢查javascript的類型 ps: 上述方法適用於基本的數據類型和內置對象,而對於自定義對象是無效的。 判斷一個值是否可用做數字 如果是有限數值,或者可以 ...
記錄看到或者用到的js代碼,長期更新!
判斷是否是正整數
(number-0)|0 !== number-0
解析: number-0 轉換成數字,再通過位移運算(|)判斷是否跟原數字相等
安全檢查javascript的類型
function typeOf(o){
let _toString = Object.prototype.toString;
//列舉基本的數據類型和內置的對象類型
let _types = {
"undefined" : "undefined",
"number" : "number",
"string" : "string",
"boolean" : "boolean",
"[object Function]" : "function",
"[object Array]" : "array",
"[object Date]" : "date",
"[object RegExp]" : "regExp",
"[object Error]" : "error"
}
return _types[typeof o] || _types[_toString.call(o)] || (o? "object":"null");
}
ps: 上述方法適用於基本的數據類型和內置對象,而對於自定義對象是無效的。
判斷一個值是否可用做數字
function isNumber(num){
return typeof num === "number" && isFinite(num);
}
如果是有限數值,或者可以轉成有限數值,將返回true;如果只是NaN,正負無窮大的值,則返回false。
判斷是不是數組
function isArray(arr){
return Object.prototype.toString.call(arr) === '[object Array]'
}