有一些小的常用的方法,整理起来封装一下,便于使用。
技术栈
- vite
- js
- rollup 打包发布
安装
npm i nf-tool
// 或者
yarn add nf-tool
功能
- 验证 JavaScript 的类型
- 输出调试信息
用法
import {
log, // 打印调试信息
logTime, // 计时
toTypeString, // Object.prototype.toString.call(val)
typeName, // 获取可以识别的名称
hasOwnProperty,
hasOwn,
isFunction, // 验证普通函数
isAsync, // 验证 async 的函数
isPromise, // 验证 Promise
isObject, // 验证 Object
isArray, // 验证数组
isString, // 验证字符串
isNumber, // 验证 number
isBigInt, // 验证 BigInt
isBoolean, // 验证 布尔
isRegExp, // 验证正则类型
isDate, // 验证日期
isMap, // 验证 map
isSet, // 验证 set
isSymbol, // 验证 Symbol
isNullOrUndefined // null 或者 undefined 返回 true
} from 'nf-tool'
async function testAsyncFun(params) {
}
function myPromise(params) {
return new Promise((f1, f2) => {
f1()
})
}
window.__showlog = 2 // 设置后才会打印调试信息
// 开始测试
const start = () => {
log(' ============ 验证数据类型 ============')
let t = logTime('验证 Function 用时')
log('\n() => {}:', isFunction(() => {}))
t.end()
t = logTime('验证 Async 用时')
log('\nasync () => {}:', isAsync(async () => {}))
log('async function () {}:', isAsync(testAsyncFun))
t.end()
t = logTime('验证 isPromise 用时')
log('\nPromise:', isPromise(myPromise))
log('Promise:', isPromise(myPromise()))
t.end()
t = logTime('验证 Object 用时')
log('\n对象:', isObject({}))
t.end()
t = logTime('验证 Array 用时:')
log('\n数组:', isArray([]))
t.end()
t = logTime('验证 isString 用时:')
log('\n‘123’:', isString('123'))
t.end()
t = logTime('验证 isNumber 用时:')
log('\n123:', isNumber(123))
t.end()
t = logTime('验证 isBigInt 用时:')
log('\n123:', isBigInt(123))
t.end()
t = logTime('验证 isBoolean 用时:')
log('\ntrue:', isBoolean(true))
t.end()
t = logTime('验证 isRegExp 用时:')
log('\nRegExp:', isRegExp(new RegExp(/123/g)))
t.end()
t = logTime('验证 isDate 用时:')
log('\nDate:', isDate(new Date()))
t.end()
t = logTime('验证 isMap 用时:')
log('\nMap:', isMap(new Map()))
t.end()
t = logTime('验证 isSet 用时:')
log('\nSet:', isSet(new Set()))
t.end()
t = logTime('验证 isPromise 用时:')
// log('\nPromise:', isPromise(() => {return new Promise(()=>{},()=>{}))})
t.end()
t = logTime('验证 isSymbol 用时:')
log('\nSymbol(‘123’):', isSymbol(Symbol('123')))
t.end()
var un
t = logTime('验证 isNullOrUndefined 用时:')
log('\nnull:', isNullOrUndefined(null))
log('未定义:', isNullOrUndefined(un))
log('字符串:', isNullOrUndefined('qwe'))
t.end()
const arr = [
'字符串',
123,
['数组', 123],
new Date(),
new Date().valueOf(),
new Map(),
new Set()
]
t = logTime('typeName 用时:')
log('\n typeName 的测试')
arr.forEach(element => {
log(typeName(element), ':', element.toString())
})
t.end()
源码
https://gitee.com/naturefw/nf-rollup-tool
网友评论