/**
* 判断各种js数据类型
*/
export default {
/**
* 判断是否是字符串
* @param value
* @returns {boolean}
*/
isString(value) {
return typeof value === "string";
},
/**
* 判断是否是 number
* @param value
* @returns {boolean}
*/
isNumber(value) {
return typeof value === "number";
},
/**
* 判断是否是NaN
* @param value
* @returns {boolean}
*/
isNaN(value) {
return typeof value === "number" && value.toString() === "NaN";
},
/**
* 判断是否是整形数字
* @param value
* @returns {boolean}
*/
isInt(value) {
value = value < 0 ? Math.abs(value) : value;
return this.isNumber(value) && value % 1 === 0;
},
/**
* 判断是否浮点型数字
* @param value
* @returns {boolean}
*/
isFloat(value) {
value = value < 0 ? Math.abs(value) : value;
return this.isNumber(value) && value % 1 !== 0;
},
/**
* 判断是否是bool型数据
* @param value
* @returns {boolean}
*/
isBool(value) {
return typeof value === "boolean";
},
/**
* 判断是否是 undefined
* @param value
* @returns {boolean}
*/
isUndefined(value) {
return typeof value === "undefined";
},
/**
* 判读是否是function
* @param value
* @returns {boolean}
*/
isFunction(value) {
return typeof value === "function";
},
/**
* 判断是否是数组
* @param value
* @returns {boolean}
*/
isArray(value) {
return Object.prototype.toString.call(value) === '[object Array]';
},
/**
* 判断是否是对象
* @param value
* @returns {boolean}
*/
isObject(value) {
return Object.prototype.toString.call(value) === '[object Object]';
},
/**
* 判断是否是null
* @param value
* @returns {boolean}
*/
isNull(value) {
return Object.prototype.toString.call(value) === '[object Null]';
},
/**
* 判断值是否为空
* @param value
* @return {boolean}
*/
isEmpty(value) {
if (this.isObject(value) || this.isArray(value)) {
return Object.keys(value).length === 0;
}
return value === "" || this.isNaN(value) || this.isUndefined(value) || this.isNull(value);
},
};
网友评论