| | |
| | | }, delay); |
| | | |
| | | // 配置立即执行 |
| | | if(callNow) { |
| | | if(callNow == true) { |
| | | func.apply(context, args) |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | |
| | | // 判空函数 |
| | | function isEmpty(value, zeroIsEmpty = false, falseIsEmpty = false){ |
| | | let val = value |
| | | // 检查是否为null 或者 undefind |
| | | if(val === null || val === undefined){ |
| | | return true; |
| | | } |
| | | //如果字符串全部是由数字构成的,则转化为数字型 |
| | | if(isAllDigits(val) === true){ |
| | | val = Number(val) |
| | | } |
| | | |
| | | // 是否是字符串类型 |
| | | if(typeof val === 'string') { |
| | | return val.trim().length === 0; |
| | | } |
| | | |
| | | // 是否是数组 |
| | | if(Array.isArray(val)) { |
| | | return val.length === 0; |
| | | } |
| | | |
| | | //是否是对象 |
| | | if(typeof val === 'object') { |
| | | return Object.keys(val).length === 0; |
| | | } |
| | | |
| | | // 数字类型默认不为空 |
| | | if(typeof val === 'number'){ |
| | | // 数字为0视为空 |
| | | if(zeroIsEmpty == true){ |
| | | if(val === 0){ |
| | | return true |
| | | } |
| | | } |
| | | return false |
| | | } |
| | | |
| | | // 布尔类型默认不为空 |
| | | if (typeof val === 'boolean') { |
| | | // false值视为空 |
| | | if(falseIsEmpty == true){ |
| | | if(val === 0){ |
| | | return true |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | // 判断是否全是数字 |
| | | function isAllDigits(str) { |
| | | return /^\d+$/.test(str); |
| | | } |