JavaScript学習ノート7は閉じます.

1217 ワード

//     
//   JavaScript  ,     ,
//        ,           ,               ,   
//   func        inner,          inner,            。
var outter = [];
function clouseTest (){
    var array = ["one","two","three","four"];
    for(var i=0;i<array.length;i++){
        var x = {};
        x.no = i;
        x.text = array[i];
        x.invoke = function(){
            alert(i);
        };
        outter.push(x);
    }
}

//      
clouseTest();
outter[0].invoke();//4       x.invoke = function(){print(i);}      ,
outter[1].invoke();//4

//                  。  ,     
//         ,  ,               。
//         :
function clouseTest2 (){
    var array = ["one","two","three","four"];
    for(var i=0;i<array.length;i++){
        var x = {};
        x.no = i;
        x.text = array[i];
        x.invoke = function(no){
            alert(no);//          ,            
        }(i);
        outter.push(x);
    }
}
clouseTest2 ();