JavaScript红皮书学习(22)--高级技巧

Posted by liveipool on February 2, 2017

高级技巧

22.1 防篡改对象

22.2.png

22.1.1 不可扩展对象

默认情况下,所有对象都是可扩展的。
22.2.1.png

22.1.2 密封的对象

22.2.2.png

22.1.3 冻结的对象

22.2.3.png

22.2 高级定时器

JavaScript是运行于单线程的环境中的,执行时机是不能保证的,因为在页面的生命周期中,不同事件可能有其他代码在控制JavaScript进程。
在JavaScript中没有任何代码是立刻执行的,但一旦进程空闲则尽快执行。

22.2.2 Yielding Processes

22.3.21.png
22.3.22.png
22.3.23.png
一旦某个函数需要花50ms以上的时间完成,那么最好看看能否将任务分割成一系列可以使用定时器的小任务。

22.2.3 函数节流

22.3.3.png

22.3 观察者模式

22.4.png

22.4 小结

22.61.png
22.62.png