前端术语诠释

645 阅读3分钟

1. 句柄

句柄就是“引用”的意思,或者在C++中类似于指针,一个对象可能很大,不可能每次用的时候都要复制一份,这个时候就要有一个身份象征来代表它。在计算机中,一般句柄就代表了对象在内存中的位置,所以即使看上去完全相同的两个对象,在内存中位置也是不同的,它们的句柄相比较也是不同的。

2. 事件驱动

所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数)

3. 阻塞/非阻塞

3.1 非阻塞I/O

比如进程A要从网络收一个包,如果没有包就等待,这就是阻塞。 不等待,去做别的事情,等包来了再处理就是不阻塞。

3.2 异步I/O

同ajax异步

4. 上下文切换

当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针等,最后才开始执行。这种切换称为“上下文切换”(“context switch”)。CPU会在一个上下文中执行一个线程,然后切换到另外一个上下文中执行另外一个线程。 上下文切换并不廉价。如果没有必要,应该减少上下文切换的发生。

5. 状态机

由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。状态机简写为FSM(Finite State Machine)
状态机思想
阮一峰关于有限状态机

6. 钩子机制(见于vue、react生命周期)

作用:通过钩子函数可以在不同生命周期执行逻辑。 将需要执行的函数或者其他一些列动作 注册到一个统一的入口,页面加载完成之前,程序通过调用这个钩子来执行这些已经注册的函数

7. REPL

交互式解释器(REPL)既可以作为一个独立的程序运行,也可以很容易地包含在其他程序中作为整体程序的一部分使用。REPL为运行JavaScript脚本与查看运行结果提供了一种交互方式,通常REPL交互方式可以用于调试、测试以及试验某种想法。

8. source map(jQuery2.x、vue、react都有)

作用:用于还原真实的出错位置,帮助开发者更快的Debug。

source map就是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。
有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码。这无疑给开发者带来了很大方便。
教程

9. 脏检查

在angularjs中,它没有办法判断你的数据是否做了更改,所以它设置了一些条件,当你触发了这些条件之后,它就执行一个检测来遍历所有的数据,对比你更改了地方,然后执行变化。

10. JS柯里化

此文章描述了了JS柯里化的使用场景和性能:JS柯里化