我有一个javascript问题,我很困惑。我似乎无法弄清楚为什么一个函数返回一个数组(它是一个数组),但另一个函数返回undefined。
问题:为什么一个函数返回一个数组但另一个函数在父窗口中返回undefined?
因此,在某些背景下,我有一个javascript子项,它将数据发送回父窗口。现在它只发送整数,所以没有太大或有问题。信息保存在父窗口中。子窗口唯一要做的就是发回信息。 (基本上说“哦,这是被选中的”)。
子窗口
else{
if(document.getElementById("embroid"+embroideryID).checked == false){
parent.EmbroideryDataReturned("add", embroideryID);
document.getElementById("embroid"+embroideryID).checked = true;
}
else{
parent.EmbroideryDataReturned("remove", embroideryID);
document.getElementById("embroid"+embroideryID).checked = false;
}
}
function SelectedEmbroideries(){
var embroideries = parent.EmbroideryDataReturned("get", 0);
for(i = 0; i < embroideries.length; i++){
document.getElementById("embroid"+embroideries[i]).checked = true;
}
}
父窗口
var embroidArray = new Array();
function EmbroideryDataReturned(mode, embroidID){
if(mode == 'add'){
embroidArray.push(embroidID);
//alert(mode + " " + embroidID + " Array is now: \n"+ embroidArray);
return;
}
else if(mode == 'remove'){
embroidArray.splice(embroidArray.indexOf(embroidID), 1);
//alert(mode + " " + embroidID + " Array is now: \n"+ embroidArray);
return;
}
else if(mode = 'get'){
return embroidArray;
}
}
警报中的父窗口正确显示阵列。但是,当它运行更新时,该函数表示该值未定义。是什么导致了这个问题?
答案 0 :(得分:1)
我发现有一个参数正在传递,与我试图使用的变量同名。所以我的错!谢谢你的帮助!