# nf-tool- JavaScript 常用函数库 **Repository Path**: naturefw-code/nf-rollup-tool ## Basic Information - **Project Name**: nf-tool- JavaScript 常用函数库 - **Description**: 使用 Object.prototype.toString.call(val) 验证JavaScript的各种数据类型。 其他常用函数 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-11-13 - **Last Updated**: 2022-09-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: rollup ## README # nf-typeof-验证 JavaScript 的类型 > 源码目录:https://naturefw.gitee.io/ #### 介绍 使用 Object.prototype.toString.call(val) 验证 JavaScript 的各种数据类型。 封装一下 console.log,console.time、console.timeEnd 虽然采用了 Typescript,但是基本上是 anyscript。 ## 目录结构 * lib 源码 * src 使用demo * distp 在线演示的代码 #### 安装教程 1. npm i @naturefw/nf-tool 或者 2. yarn add @naturefw/nf-tool CDN 的使用方法 引入 ``` ``` 然后 ``` nfTool.isPromise(()=>{}) ``` 这样就可以访问到了。 #### 使用说明 ```js import tool from '@naturefw/nf-tool' const { 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 } = 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() ``` #### 源码 [![自然框架源码/nf-tool- JavaScript 常用函数库](https://gitee.com/naturefw-code/nf-rollup-tool/widgets/widget_card.svg?colors=ffffff,1e252b,323d47,455059,d7deea,99a0ae)](https://gitee.com/naturefw-code/nf-rollup-tool) #### 在线演示 [https://naturefw-code.gitee.io/nf-rollup-tool](https://naturefw-code.gitee.io/nf-rollup-tool) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)