이 기사는 js의 클로저 성능 최적화에 대한 코드 분석을 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
window.onload=function () { var btn=document.getElementsByTagName('button'); for(var i=0;i<btn.length;i++){ (function (index) { btn[index].onclick=function () { //类似css中的ul:hover li for(var j=0;j<btn.length;j++){ btn[j].style.backgroundColor='';//清空全部 } //类似css中的ul>li:hover this.style.backgroundColor='orange';//设置当前的 } })(i); } } <button>按钮</button> <button>按钮</button> <button>按钮</button> <button>按钮</button> <button>按钮</button> <button>按钮</button>
성능 최적화
window.onload = function () { var btn = document.getElementsByTagName('button'); var lastOne = 0; for (var i = 0; i < btn.length; i++) { (function (index) { //index就是i btn[index].onmouseover=function () { //清除上一个 btn[lastOne].style.backgroundColor= ''; //设置现在的 this.style.backgroundColor = 'orange'; //赋值上一个 lastOne = index; }; btn[index].onmouseout=function () { this.className=''; } })(i); } } <button>按钮</button> <button>按钮</button> <button>按钮</button> <button>按钮</button> <button>按钮</button> <button>按钮</button>
관련 권장 사항:
위 내용은 js의 클로저 성능 최적화 코드 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!