Javascript 性能优化
Javascript最初是解释型语言,现在,主流浏览器内置的Javascript引擎基本上都实现了Javascript的编译执行,即使如此,我们仍需要优化自己写的Javascript代码,以获得最佳性能。 注意作用域 避免全局作用域 在之前的文章 Javascript 变量、作用域和内存问题 提到过,由于访问变量需要在作用域链上进行查找,相比于局部变量,访问全局变量的开销更大,因此以下代码: var person = { name: "Sue", hobbies: ["Yoga", "Jogging"] }; function hobby() { for(let i=0; i<person.hobbies.length; i++) { console.log(person.hobbies[i]); } } 可以进行如下优化: function hobby() { let hobbies = person.hobbies; for(let i=0; i<hobbies.length; i++) { console.log(hobbies[i]); } } 把需要频繁访问的全局变量赋值到局部变量中,可以减小查找深度,进而优化性能。 当然,上述优化过的代码仍然有不足的地方,后面的部分会提到。 避免使用 with 为什么避免使用 with ? with 并不是必须的