폐쇄 케이스 --- 해당 버튼의 인덱스를 인쇄 버튼을 클릭

  < 버튼 >按钮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); 
    }

 

추천

출처www.cnblogs.com/lixiaoxue/p/11228390.html