记录看到或者用到的js代码,长期更新!

判断是否是正整数

(number-0)|0 !== number-0

解析: number-0 转换成数字,再通过位移运算(|)判断是否跟原数字相等

安全检查 的类型


function typeOf(o){
    let _toString =  .prototype.toString;
    //列举基本的数据类型和内置的对象类型
    let _types = {
        \"undefined\" : \"undefined\",
        \"number\" : \"number\",
        \"string\" : \"string\",
        \"boolean\" : \"boolean\",
        \"[  Function]\" : \"function\",
        \"[  Array]\" : \"array\",
        \"[  Date]\" : \"date\",
        \"[  RegExp]\" : \"regExp\",
        \"[  Error]\" : \"error\"
    }
    
    return _types[typeof o] || _types[_toString.call(o)] || (o? \" \":\"null\");
    
}

ps: 上述方法适用于基本的数据类型和内置对象,而对于自定义对象是无效的。

判断一个值是否可用做数字

function isNumber(num){
    return typeof num === \"number\" && isFinite(num);
}

如果是有限数值,或者可以转成有限数值,将返回true;如果只是NaN,正负无穷大的值,则返回false。

判断是不是数组


function isArray(arr){
    return  .prototype.toString.call(arr) === \'[  Array]\'
}
收藏 打印