JS数据存取效率的优化

JS有4中数据存取方式:字面变量、局部变量、数组项、对象成员。字面变量和局部变量访问速度快,数组项和对象成员访问要慢一些。

数据访问时会沿着作用域链进行查找,局部变量要比全局变量快得多,嵌套的对象成员和对象的子属性、子方法,如果层级越深,访问就越慢。

改善数据访问效率的方法是用局部变量存嵌套对象、数组项、跨域变量,这样通过局部变量就可以访问,节省了查找层级。

例如:

function hasEitherClass(element , class1, class2 ){

return element.className==class1 || element.className==class2;

}

改为:

function hasEitherClass(element , class1, class2 ){

var currentClassName=element.className;

return currentClassName==class1 || currentClassName==class2;

}

就可以将对属性className的访问次数由2次对象查找变为1次对象查找和1次局部变量访问,效率会高一些

原文地址:https://www.cnblogs.com/lianjinzhe/p/12859413.html