[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;
}
```