Skip to content

1129

工作

  • 代码 review

反思

引用:https://github.com/zkuhut/monthly

很多人,包括我自己都会有这样的困惑:

  • 我很菜,不知道该写点什么。
  • 我会的东西那么简单,写出来会不会被别人笑话。
  • 我想写的东西似乎很多人都写过了,还有必要自己写吗?

对此我想谈谈自己对于有价值信息的理解。输出文章是为了记录,梳理,引发一些思考及观点。

其次才是分享(别太高看自己,你写的东西没几个人会看到的)。

用最直白的语言讲清楚一件事或一个东西,就是有价值的信息。

今日算法

今日学习:

链表:

  • 合并K个排序链表
  • 排序链表

树和图:

  • 单词接龙

今日复习:

温故知新

防抖节流等各种手写,http和网络,浏览器原理,性能优化,Webpack

防抖和节流都是为了解决频繁触发某个事件的情况造成的性能消耗。

  • 防抖:就是在出发后的一段时间内执行一次

业务场景:在进行搜索的时候,当用户停止输入后调用方法,节约请求资源

js
 // 防抖(一段时间会等,然后带着一起做了)
 function debounce(fn, delay){
     let timerId = null
     return function(){
         const context = this
         if(timerId){window.clearTimeout(timerId)}
         timerId = setTimeout(()=>{
             fn.apply(context, arguments)
             timerId = null
         },delay)
     }
 }
 const debounced = debounce(()=>console.log('hi'))
 debounced()
 debounced()
  • 节流:相当于技能释放后冷却时间,在冷却时间无法释放技能;

适用场景:按钮上添加 节流,一段时间只会触发一次请求;

js
 // 节流(一段时间执行一次之后,就不执行第二次)
 function throttle(fn, delay){
     let canUse = true
     return function(){
         if(canUse){
             fn.apply(this, arguments)
             canUse = false
             setTimeout(()=>canUse = true, delay)
         }
     }
 }

 const throttled = throttle(()=>console.log('只有一个hi'))
 throttled()
 throttled()

项目推荐

值得学习的项目

面经相关

八股文相关

明日计划

  • 算法:
    • 学习:高级算法:树和图
    • 复习: 二分查找
  • 手写:事件委托

TODOS

  • 每日记录的项目,归类整理,未来做成一个分类导航面板
  • 待输出文章:前端项目开发中常见的一些坑:图片,文件,水印...

Released under the MIT License.