在数组中添加元素时未捕获的非法访问
Uncaught illegal access while adding element in array
这里是 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
错误的行上发表了评论。我找不到它的根本原因。
我找到了解决方案。只需要将 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;
.
.
.
.
}
这里是 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
错误的行上发表了评论。我找不到它的根本原因。
我找到了解决方案。只需要将 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;
.
.
.
.
}