Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在变量上返回未定义_Javascript_Variables_Undefined - Fatal编程技术网

Javascript在变量上返回未定义

Javascript在变量上返回未定义,javascript,variables,undefined,Javascript,Variables,Undefined,我有这部分代码: for (i = 0; i <= texte.split(';')[1].split(',').length - 1; i++) { cell = document.createElement("td"); cell.setAttribute("width", "10%"); cell.setAttribute("align", "center"); if (texte.split(';')[1].split

我有这部分代码:

for (i = 0; i <= texte.split(';')[1].split(',').length - 1; i++) {
        cell = document.createElement("td");
        cell.setAttribute("width", "10%");
        cell.setAttribute("align", "center");
        if (texte.split(';')[1].split(",")[i] != "")
            cell.onclick = function () { chgnom('1',"'" + texte.split(';')[1].split(",")[i] + "'",''); };
        textnode = document.createElement("span");
        textnode.innerHTML = texte.split(';')[1].split(",")[i];
        cell.appendChild(textnode);
        row.appendChild(cell);
    }

对于(i=0;i让我们假设
arr=texte.split(“;”)[1]。split(“,”)
。当执行单击时,
i
将已经等于
arr.length
arr[arr.length]
未定义的
,这就是您得到的结果。解决方法可能类似于:

if (texte.split(';')[1].split(",")[i] != ""){
    cell.onclick = (function(inner_i){
        return function () { 
            chgnom('1',"'" + texte.split(';')[1].split(",")[inner_i] + "'",''); 
        };
    })(i);
}

让我们假设
arr=texte.split(“;”)[1]。split(“,”)
。当执行单击时,
i
将已经等于
arr.length
arr[arr.length]
未定义的,这就是您得到的结果。解决方法可能类似于:

if (texte.split(';')[1].split(",")[i] != ""){
    cell.onclick = (function(inner_i){
        return function () { 
            chgnom('1',"'" + texte.split(';')[1].split(",")[inner_i] + "'",''); 
        };
    })(i);
}

您是否测试了每个循环的
texte.split(“;”)[1].split(“,”[i]

请尝试在之前将其放入变量。

是否测试了
texte.split(“;”)[1]。每个循环的split(“,”[i]

请尝试在之前将其放入变量中。

您能给我们演示一下吗?您的示例需要更多信息。如果定义不足,您可能正在拆分一些不存在的内容,例如。texte的值是什么?行变量贴花在哪里?您能给我们演示一下吗?您的示例需要更多信息。如果定义不足,您可能正在拆分一些不存在的内容,例如。texte的值是多少?行变量depred在哪里?他已经在使用闭包,您发布的是返回闭包的闭包。请正确使用术语,因为闭包不是返回函数的函数,而是动态返回的函数有符号函数,可能在另一个函数中返回,也可能不返回,反过来可能是闭包,也可能不是闭包。他已经在使用闭包,您发布的是一个返回闭包的闭包。请正确使用这些术语,因为闭包不是返回函数的函数,而是一个动态分配的函数,可能是,也可能不是ot可以在另一个函数中返回,而这又可能是一个闭包,也可能不是闭包。