首页 > 其他分享 >5个实用JS库

5个实用JS库

时间:2023-01-13 10:00:33浏览次数:51  
标签:const name fatfish js 实用 https JS com

前言

作为一名前端开发者,我通过这些JavaScript库大大提高了自己的效率,比如格式化日期、处理URL参数、调试手机网页等。因此,我想将这些好用的库分享给你们,也希望可以帮助到你们。

1.使用“Day.js”格式化日期和时间

地址:https://day.js.org/en/

作为一名开发人员,我受够了在 JavaScript 中操作日期和时间,因为它太麻烦了。

比如我们要打印当前的日期和时间,就需要写一大段代码来完成。

const getDate = () => {
const fillZero = (t) => {
return t < 10 ? `0${t}` : t
}
const d = new Date()
const year = d.getFullYear()
const month = fillZero(d.getMonth() + 1)
const day = fillZero(d.getDate())
const hour = fillZero(d.getHours())
const minute = fillZero(d.getMinutes())
const second = fillZero(d.getSeconds())


return `${year}-${month}-${day} ${hour}:${minute}:${second}`
}
console.log(getDate()) // 2022-05-09 07:19:14

幸运的是,使用 Day.js 只需一行代码即可完成。

console.log(dayjs().format('YYYY-MM-DD HH:mm:ss')) // 2022-05-09 07:19:14

注意:“Day.js 是一个极简主义的 JavaScript 库,它使用大部分与 Moment.js 兼容的 API 为现代浏览器解析、验证、操作和显示日期和时间。

如果你使用过 Moment.js,那么,使用Day.js,你也不会觉得很难。”

2.使用“qs.js”格式化URL参数

地址:https://github.com/ljharb/qs

我们为了获取“URL”的参数,也许会写一个这样的函数。

const formatSearch = () => {
window.location.search.slice(1).split('&').reduce((res, it) => {
const [ key, value ] = it.split('=')
res[ key ] = value
return res
}, {})
}
// https://medium.com?name=fatfish&age=100
const search = formatSearch() // { name: 'fatfish', age: 100 }
// use qs.js to format
const search2 = qs.parse(window.location.search.slice(1)) // { name: 'fatfish', age: 100 }

但是,现在我们如果要实现这样一个新功能,就会变得简单很多。

如果我们想在“https://medium.com”中添加姓名和年龄两个参数。

// 1. url = https://medium.com
// 2. params = { name: 'fatfish', age: 100 }
const splitSearch = (url, params) => {
const search = Object.entries(params).map((it) => it.join('=')).join('&')
return `${url}?${search}`
}
const url = 'https://medium.com'
const params = { name: 'fatfish', age: 100 }
console.log(splitSearch(url, params)) // https://medium.com?name=fatfish&age=100
// use qs.js to stringify url
console.log(`${url}?${qs.stringify(params)}`) // https://medium.com?name=fatfish&age=100

3.使用“js-cookie.js”读写cookies

地址:https://github.com/js-cookie/js-cookie

我们都知道在 JavaScript 中操作 cookies 不是一件简单的事情,为了提高你的工作效率我强烈推荐“js-cookie.js”,它是一个简单、轻量级的 JavaScript API,用于处理 cookies。

Cookies.set('name', 'fatfish', { expires: 10 })
Cookies.get('name') // fatfish

4. 为什么选择 Lodash?

地址:https://github.com/lodash/lodash

先来看看Lodash的介绍:

Lodash 通过消除处理数组、数字、对象、字符串等的麻烦,使 JavaScript 变得更容易。Lodash 的模块化方法非常适合:

  • 迭代数组、对象和字符串
  • 操纵和测试值
  • 创建复合函数
// 1. Flatten the array
_.flattenDeep([ 1, [ 2, [ 3, [ 4, [ 5 ]] ] ] ]) // [1, 2, 3, 4, 5]
// 2. More convenient object traversal
_.each({ name: 'fatfish', age: 100 }, (val, key) => {
console.log(val, key)
// fatfish name
// 100 'age'
})
// 3. ...

5、在移动端使用“Vconsole”调试网页

地址:https://github.com/Tencent/vConsole

在移动设备上调试网页非常困难,但有了“Vconsole”,一切都会变得容易得多。我们可以通过扫描此二维码或点击网址(http://wechatfe.github.io/vconsole/demo.html)来体验其功能。


TIP: 与chrome浏览器的devtools类似,Vconsole提供了以下功能帮助你更好的调试网页。

  • 日志:console.log、info、error、…...
  • 网络:XMLHttpRequest、Fetch、sendBeacon
  • 元素:HTML 元素树
  • 存储:Cookies、LocalStorage、SessionStorage
  • 手动执行JS命令
  • 自定义插件

标签:const,name,fatfish,js,实用,https,JS,com
From: https://blog.51cto.com/u_15335909/6005797

相关文章

  • SpringBoot-JSR303数据校验
    什么是JSR303?Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;@Componen......
  • 来自StateOfJS调查:2022年JavaScript生态圈趋势报告(前端早读课)
    原文我这里记录些觉得有趣的。Promise.allSettled()完成所有输入的方法,nomatterwhat,返回对应的状态和值/原因,这对想知道所有返回状态的业务很好用;使用async/await没法......
  • 前端知识整理第三天(【html】audio 标签的api/【js】let const var 相关)
    audio标签的apiletconstvar相关......
  • arcgis api for js 按钮样式大全
    4.25版本的有187个图标https://developers.arcgis.com/javascript/latest/esri-icon-font/用法示例<divid="select-by-rectangle"class="esri-widgetesri......
  • ERROR in build.js from UglifyJs Unexpected token: punc (()
    原因:使用了ES6的语法需要安装uglifyjs-webpack-plugin1.安装npmi-Duglifyjs-webpack-plugin2.修改webpack.conf.js//添加constUglifyJsPlugin=require('uglif......
  • JS-数据类型
      var变量声明通用类型。它可以声明数字、和字符串vara=123;varstr=“String”; const常量一旦声明,不可更改,因此需要在声明时就赋值constcon=3.14159......
  • JS-逻辑判断
      表达式(expression)相当于JS语言中的一个短语,包括变量、字面量和运算符;即一行语句 JS一元运算+-*/% 逻辑与&&逻辑或|| 三元表达式varresult=条......
  • JS-函数
    JS第四章-函数  JS的函数function 相当于java中的一个普通方法,其中方法名是method,参数是a1,a2,a31.现在定义方法 2.方法调用  方法名(参数);3.返回值r......
  • JS-jQuery1
      初始jQueryjQuery是目前最流行的JavaScript插件库,是JavaScript的封装,升级产品。设计宗旨是“WriteLess,DoMore”,即写的少,做的多。提供一种简便的JavaScript设计......
  • JS-jQuery2
      jQuery的DOM操作在JavaScript的基础之上,使用jQuery对节点做的DOM操作 原生JS添加节点  jQuery添加节点.append()在标签内部的末尾添加节点  jQuery......