< 버튼 >按钮0 </ 버튼 > < 버튼 >按钮1 </ 버튼 > < 버튼 >按钮2 </ 버튼 > < 버튼 >按钮3 </ 버튼 > < 버튼 >按钮4 </ 버튼 > < 버튼 >按钮5 </ 버튼 > < 버튼 >按钮6 </ 버튼 > < 버튼 >버튼 7 </버튼 > < 버튼 >按钮8 </ 버튼 > < 버튼 >按钮9 </ 버튼 >
@ 수요 : 첨자 인쇄 버튼에 해당하는 버튼을 클릭 VAR btns = document.querySelectorAll ( '버튼' ) // 클로저를 사용하지 마십시오의 메소드 에 대한 ( var에 ; 나는 <btns.length 내가 + + I = 0 {) btns를 [I]있는 .index = I는, btns [I]를 .onclick = 함수 () { // CONSOLE.LOG (I) CONSOLE.LOG ( 이 본 있는 .index); } } // 클로저의 특성 : 함수 내 포함 따라서 폐쇄 형성 다른 기능 함수 참조 외부 함수 내 로컬 변수 설정 @ 클로저 두 VAR btns = document.querySelectorAll ( "버튼" ) 에 대한 ( VAR을I = 0; I <btns.length; 내가 ++ ) { ( 기능 (인덱스) { btns [인덱스] .onclick = 함수 () { CONSOLE.LOG (인덱스); } }) (I); } // 方法三:使用了闭包 VAR btns = document.querySelectorAll ( "버튼" ) 에 대한 ( VAR I = 0; I <btns.length; 내가 ++ ) { btns [I] .onclick = ( 함수 (색인) { 복귀 함수 () { CONSOLE.LOG (인덱스); } }) (I); }