自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五個(gè)實(shí)用JS庫99%的人可能都不知道

開發(fā) 前端
作為一名前端開發(fā)者,我通過這些JavaScript庫大大提高了自己的效率,比如格式化日期、處理URL參數(shù)、調(diào)試手機(jī)網(wǎng)頁等。因此,我想將這些好用的庫分享給你們,也希望可以幫助到你們。

前言

作為一名前端開發(fā)者,我通過這些JavaScript庫大大提高了自己的效率,比如格式化日期、處理URL參數(shù)、調(diào)試手機(jī)網(wǎng)頁等。因此,我想將這些好用的庫分享給你們,也希望可以幫助到你們。

1.使用“Day.js”格式化日期和時(shí)間

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

作為一名開發(fā)人員,我受夠了在 JavaScript 中操作日期和時(shí)間,因?yàn)樗闊┝恕?/p>

比如我們要打印當(dāng)前的日期和時(shí)間,就需要寫一大段代碼來完成。

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

幸運(yùn)的是,使用 Day.js 只需一行代碼即可完成。

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

注意:“Day.js 是一個(gè)極簡主義的 JavaScript 庫,它使用大部分與 Moment.js 兼容的 API 為現(xiàn)代瀏覽器解析、驗(yàn)證、操作和顯示日期和時(shí)間。

如果你使用過 Moment.js,那么,使用Day.js,你也不會覺得很難?!?/p>

2.使用“qs.js”格式化URL參數(shù)

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

我們?yōu)榱双@取“URL”的參數(shù),也許會寫一個(gè)這樣的函數(shù)。

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 }

但是,現(xiàn)在我們?nèi)绻獙?shí)現(xiàn)這樣一個(gè)新功能,就會變得簡單很多。

如果我們想在“https://medium.com”中添加姓名和年齡兩個(gè)參數(shù)。

// 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 urlconsole.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 不是一件簡單的事情,為了提高你的工作效率我強(qiáng)烈推薦“js-cookie.js”,它是一個(gè)簡單、輕量級的 JavaScript API,用于處理 cookies。

// 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

4. 為什么選擇 Lodash?

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

先來看看Lodash的介紹:

Lodash 通過消除處理數(shù)組、數(shù)字、對象、字符串等的麻煩,使 JavaScript 變得更容易。Lodash 的模塊化方法非常適合:

  • 迭代數(shù)組、對象和字符串
  • 操縱和測試值
  • 創(chuàng)建復(fù)合函數(shù)

// 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”調(diào)試網(wǎng)頁

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

在移動設(shè)備上調(diào)試網(wǎng)頁非常困難,但有了“Vconsole”,一切都會變得容易得多。

TIP: 與chrome瀏覽器的devtools類似,Vconsole提供了以下功能幫助你更好的調(diào)試網(wǎng)頁。

  • 日志:console.log、info、error、…...
  • 網(wǎng)絡(luò):XMLHttpRequest、Fetch、sendBeacon
  • 元素:HTML 元素樹
  • 存儲:Cookies、LocalStorage、SessionStorage
  • 手動執(zhí)行JS命令
  • 自定義插件
責(zé)任編輯:華軒 來源: web前端開發(fā)
相關(guān)推薦

2021-09-24 14:20:25

開發(fā)技能工具

2021-07-22 09:28:35

DockerLinux命令

2020-07-29 09:53:09

VSCode編碼工具插件

2022-06-23 13:13:36

GitHub開發(fā)技巧

2018-10-17 14:50:08

2022-06-19 14:38:55

Python

2022-10-31 18:38:24

MySQL數(shù)據(jù)訂單表

2022-04-30 19:22:35

Python編程語言

2020-08-04 09:57:52

JS開發(fā)前端

2020-12-14 07:51:16

JS 技巧虛值

2025-02-04 17:33:00

2025-02-18 00:05:00

2024-04-19 16:58:17

人工智能AI機(jī)器人

2009-09-04 11:06:06

Linux桌面Linux操作系統(tǒng)linux

2017-10-22 15:34:34

手機(jī)內(nèi)存清理內(nèi)存手機(jī)

2021-01-12 12:33:20

Pandas技巧代碼

2022-09-20 11:58:27

NpmNode.js

2020-12-21 09:00:04

MySQL緩存SQL

2020-12-21 09:44:53

MySQL查詢緩存數(shù)據(jù)庫

2022-10-27 21:01:03

JavaScrip面試題開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號