《高性能javascript》读书笔记——Data Access数据访问2
1、javascript中局部变量的访问速度最快,而全局变量的访问速度最慢,全局变量总是处于运行期上下文作用域链的最后一个位置,所以总是最远才触及的。
2、一个标识符所处的位置越深,读写它的速度就越慢,采用优化的javascript引擎的浏览器,可能没有这种性能损失。
3、with改变运行期上下文作用域链,虽然有效率,但产生了一个性能问题,最好不要用with表达式。
4、try catch表达式的catch子句具有相同效果,当 try 块发生错误时,程序流程自动转入 catch 块,并将异常对象推入作用域链前端的一个
可变对象中。在 catch 块中,函数的所有局部变量现在被放在第二个作用域链对象中。只要 catch 子句执行完毕,
作用域链就会返回到原来的状态。如果使用得当, try-catch 表达式是非常有用的语句,所以不建议完全避免。最好的方式是在catch中不访问
局部变量,这样作用域链改变就不会影响代码的性能。
5、闭包
6、对象成员比直接量或局部变量访问速度慢,甚至比访问数组还慢
7、原型
8、成员嵌套越深,访问速度越慢
9.在一个函数中,你绝不应该对一个对象成员进行超过一次搜索,除非该值可能改变。
10.一般来说,如果在同一个函数中你要多次读取同一个对象属性,最好将它存入一个局部变量。

浙公网安备 33010602011771号