奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >關于奇酷 > 行業動態 > 5個實用JS庫99%的人可能都不知道

5個實用JS庫99%的人可能都不知道

來源:奇酷教育 發表于:

5個實用JS庫99%的人可能都不知道

  前言
 
  作為一名前端開發者,我通過這些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命令
 
  自定義插件
主站蜘蛛池模板: 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 心得体会网_心得体会格式范文模板| 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 飞象网 - 通信人每天必上的网站 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | 杭州ROHS检测仪-XRF测试仪价格-百科 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 代理记账_免费注册公司_营业执照代办_资质代办-【乐财汇】 | 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 扒渣机,铁水扒渣机,钢水扒渣机,铁水捞渣机,钢水捞渣机-烟台盛利达工程技术有限公司 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 |