(一)JavaScript小工具库

简介: 有一些小的常用的方法,整理起来封装一下,便于使用。

有一些小的常用的方法,整理起来封装一下,便于使用。


源码目录:https://naturefw.gitee.io/


技术栈



  • 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


在线演示



https://naturefw.gitee.io/nf-rollup-tool



相关文章
|
3月前
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
158 1
用python执行js代码:PyExecJS库
|
3月前
|
数据可视化 前端开发 JavaScript
可视化工具D3.js
可视化工具D3.js
113 2
|
1月前
|
移动开发 JavaScript 前端开发
一些处理浏览器兼容性问题的JavaScript库
这些库在处理浏览器兼容性问题方面都有着各自的特点和优势,可以根据具体的需求和项目情况选择合适的库来使用,从而提高代码的兼容性和稳定性,为用户提供更好的体验。同时,随着浏览器技术的不断发展,还需要持续关注和学习新的兼容性解决方案。
104 48
|
23天前
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
39 3
|
29天前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
29天前
|
CDN
如何在项目中使用Moment.js库?
如何在项目中使用Moment.js库?
|
1月前
|
JavaScript 前端开发
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
|
1月前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
35 1
|
1月前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
250 9
|
1月前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
87 10
下一篇
DataWorks