这是 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);
}
}
我已经在出现未捕获的非法访问
错误的行上发表了评论。我无法找到其根本原因。
请您参考如下方法:
我找到了解决方案。只需将 resultArray
定义到函数中,如果需要,可以将参数数组中的值分配给定义到函数中的数组。
修改如下:
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;
.
.
.
.
}