美文网首页程序员
编写高效的javascript

编写高效的javascript

作者: 那年某月 | 来源:发表于2018-07-12 11:51 被阅读0次

    读书笔记

    1.当执行javascript代码时,javascript引擎会创建一个执行上下文。执行上下文设定了代码执行时所处的环境。javascript引擎会在页面加载后创建一个全局执行上下文,然后每执行一个函数都会创建一个对应的执行上下文,最终建立一个执行上下文的堆栈,当前起作用的执行上下文在堆栈的最顶部。

    2.使用局部变量:这样使得在使用变量的适合能够再堆栈的顶部找到变量,而不需要增加在作用域链中查找的时间。

    3.使用with会加深作用域链,建议不使用。

    4.try-catch也会加深作用域链,因为在catch块中会在作用域的顶部加了一个异常的对象,但是是在发生错误的时候才执行,所以它比with语句的影响要小。

    5.数据在脚本中存储的位置直接影响脚本执行的总耗时,脚本中有四种地方可以存取数据

    a.字面量值

    b.变量

    c.数组元素

    d.对象属性

    6.控制流,流控制是提升javascript性能最重要的一环,用switch语句简化了多重条件判断的结构,并且提升性能,避免使用for-in循环,它用来遍历javascript对象的可枚举属性。

    7.字符串优化:字符串的连接应该避免使用加法运算符(+)来完成,然后我们使用javascript的Array对象有一个join方法,用来连接数组中的所有元素并且在元素之间插入指定的字符串。开发者把字符串添加到数组中然后通过join方法来连接字符串,这样就避免了使用加法运算符。

    8.避免运行时间过长的脚本

    a.过多的DOM操作。

    b.过多的循环。

    c.过多的递归。

    9.使用定时器挂起,使用setTimeout函数传递需要执行的函数及延迟执行该函数的时间,延迟执行脚本的时间。

    总结:

    1.管理作用域非常重要,因为存取非局部变量比局部变量耗时更多。

    2.存储和读取数据的方式对脚本性能影响极大。

    3.控制流也是影响脚本执行速度的一个重要因素。

    4.在javascript中循环经常会成为性能瓶颈。

    5.谨慎使用HTMLCollection对象。

    6.常见的字符串操作可能会带来意料之外的性能问题。

    7.浏览器会限制Javascript可以运行的最长时间,有些会执行语句的数量作为判断条件,有些则会控制javascript引擎执行的总时间。

    相关文章

      网友评论

        本文标题:编写高效的javascript

        本文链接:https://www.haomeiwen.com/subject/xdblpftx.html