2016-08-29 3 views
0
ここ

javascript機能です:キャッチされていない不正なアクセスながら

注:resultArrayは、私はライン上で私が作ったvar resultArray = [];

onAddElement : function (win,id,resultArray) { 
    var controller = this; 
    if(!win.flag){ 
     Ext.MessageBox.show({ 
      title: 'Yes or No', 
      icon: Ext.MessageBox.QUESTION, 
      msg: 'Do you want to continue?', 
      buttonText: {yes:'YES', no:'NO', cancel:'CANCEL', 
      fn: function (me) { 
       if(me === 'yes'){ 
        ver = win.curVer; 
        resultArray.push({ 
         id: id, 
         ver: ver 
        }); 
        controller.anotherFunc(win,id); 

       }else if(me === 'no'){ 
        ver = win.ver; 
        resultArray.push({ 
         id: id, 
         ver: ver 
        }); 
        controller.anotherFunc(win,id); 

       } 
      } 
     }); 
    }else{ 
     ver = win.ver; 
     resultArray.push({ //getting uncaught illegal access 
      id: id, 
      ver: ver 
     }); 
     controller.anotherFunc(win,id);  
    } 
} 

コメントとして呼び出し元の関数で定義されていますuncaught illegal accessエラーが発生しました。私はそれの根本的な原因を見つけることができません。

答えて

1

私はそれを解決しました。ファンクションにresultArrayを定義するだけでよく、必要に応じて引数arrayの値を関数に定義された配列に割り当てることができます。ここで

は変形例である:

onAddElement : function (win,id,argArray) { 
    var resultArray = []; // define array inside a function 
    resultArray = argArray; // if required assign arg array to local array. 
    var controller = this; 
    . 
    . 
    . 
    . 
} 
関連する問題