🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 减少对象成员的查找次数和嵌套深度 [来源](https://github.com/chenjigeng/blog/blob/master/javasciprt%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.md) ``` // 进行两次对象成员查找 function hasEitherClass(element, className1, className2) { return element.className === className1 || element.className === className2; } // 优化,如果该变量不会改变,则可以使用局部变量保存查找的内容 function hasEitherClass(element, className1, className2) { const currentClassName = element.className; return currentClassName === className1 || currentClassName === className2; } ``` ## 减少DOM操作 使用局部变量储存dom节点 ``` // 优化前,在每次循环的时候,都要获取id为t的节点,并且设置它的innerHTML� function innerHTMLLoop () { for (let count = 0; count < 15000; count++) { document.getElementById('t').innerHTML += 'a'; } } // 优化后, function innerHTMLLoop () { const tNode = document.getElemenById('t'); const insertHtml = ''; for (let count = 0; count < 15000; count++) { insertHtml += 'a'; } tNode.innerHtml += insertHtml; } ```