什么是 DevOps、CI、CD?

在了解前端工程化的时候,经常听到 DevOps、CI、CD,I 借这个机会搞清楚。

DevOps 指用自动化工具更好的完成软件周期中的开发、测试和交付工作。

CI 和 CD 是 DevOps 的一部分。CI 是指持续集成 (Continuous Integration),CD 即指持续部署(Continuous Deploy),也指持续交付(Continuous Delivery)。

Read More

记一次感冒

5 月 24 日-5 月 26 日去南昌出差,三天基本没有午睡,晚上又没有休息好,食物多是多油且极辣的,导致感冒了。26 日早上喉咙有点干渴,而后双臂开始发酸,没有重视,下午到晚上开始发冷、疲劳。

27、28 日勉强带着疲劳的身躯度过工作日,29、30 日周末开始喉咙痛。喉咙痛是扁桃体的发炎。包扁桃体发炎可分为以下两种:

Read More

new 做了什么

JavaScript 中 new 做了什么

我们使用 new 和构造函数产生一个新的对象,那在这个过程 new 做了什么呢?

  1. 生成一个空的对象 obj
  2. 将 obj 的原型指向构造函数的 prototype
  3. 将 obj 赋值 给上下文 this
  4. 将 this 返回

因此,下面代码将打印出 true 和 a

Read More

this 指向

this 永远指向一个对象

普通函数

this 的指向完全取决于函数调用的位置

箭头函数

this 被设置为他被创建时的环境

call,apply,bind

  • call,apply 改变函数调用的 this 指向,立即执行,call 的参数逐个传递,apply 数组形式传递
  • bind 返回一个函数,并改变它的 this 指向,而且只能改变一次,bind 的参数逐个传递

什么是事件循环 (Event Loop)

事件循环

事件循环 (Event Loop) 是 JavaScript 运行的机制,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。浏览器与 Node.js 的事件循环存在差异。

事件循环机制为什么要分为微任务和宏任务呢?因为插队。当微任务执行的时候,其产生的微任务依旧可以在本次事件循环执行,实现了插队效果。利用此插队效果,不用等待下一次事件循环执行完宏任务才执行微任务。

Read More