首页 » 编写高质量代码:改善JavaScript程序的188个建议 » 编写高质量代码:改善JavaScript程序的188个建议全文在线阅读

《编写高质量代码:改善JavaScript程序的188个建议》建议172:推荐使用原生方法

关灯直达底部

无论怎样优化JavaScript代码,永远都不会比JavaScript引擎提供的原生方法更快。其原因是JavaScript的原生部分在执行代码之前已经存在于浏览器中,原生方法都是用原生语言写的,如C++。这意味着这些方法被编译成机器码,作为浏览器的一部分,没有JavaScript代码的限制多。

经验不足的JavaScript开发者经常犯的一个错误是在代码中进行复杂的数学运算,却没有使用内置Math对象中那些性能更好的方法。Math对象包含专门设计的属性和方法,使数学运算更容易。使用JavaScript内置函数比同样功能的JavaScript代码更快。

另外,借助各种框架或自定义函数可以像CSS选择器那样查询DOM文档。CSS查询被JavaScript原生实现并由jQuery这个JavaScript库来推广。虽然jQuery引擎被认为是最快的CSS查询引擎,但是它仍比原生方法慢。原生的querySelector和querySelectorAll方法在完成它们的任务时,平均只需要基于JavaScript的CSS查询的时间的10%。大多数JavaScript库已经使用了原生函数来提高整体性能。

当原生方法可用时,尽量使用它们,尤其是数学运算和DOM操作。用编译后的代码做越多的事情,代码就会越快。