整数:
function isInteger(obj) { return Math.floor(obj) === obj } isInteger(3) // true isInteger(3.3) // false isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false
整数:
function isInteger(obj) { return (obj | 0) === obj } isInteger(3) // true isInteger(3.3) // false isInteger('') // false isInteger('3') // false isInteger(true) // false isInteger([]) // false //这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力,如 //isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了 //当然,多数时候我们不会用到那么大的数字。
原:http://www.cnblogs.com/snandy/p/3824828.html
数字:
function isNumber(obj) { return obj === +obj }
数字(es6):
Number.isInteger(3) // true
字符串和布尔:
// 判断字符串 function isString(obj) { return obj === obj+'' } // 判断布尔类型 function isBoolean(obj) { return obj === !!obj }