Javascript 将一个函数中的局部变量传递给另一个函数
我被这个问题难住了。我有以下代码(字符串的形式为:“var1,var2,var3”,someIdArray是包含一些id的数组):Javascript 将一个函数中的局部变量传递给另一个函数,javascript,arrays,function,variables,Javascript,Arrays,Function,Variables,我被这个问题难住了。我有以下代码(字符串的形式为:“var1,var2,var3”,someIdArray是包含一些id的数组): 函数myFunction1(变量,字符串) { var myArray=string.split(','); 对于(i=0;i而言,问题在于内部for循环: for (j=0;j<someIdArray[j].length;j++) 对于(j=0;j可以这样尝试: function myFunction1(variable,string) { var m
函数myFunction1(变量,字符串)
{
var myArray=string.split(',');
对于(i=0;i而言,问题在于内部for循环:
for (j=0;j<someIdArray[j].length;j++)
对于(j=0;j可以这样尝试:
function myFunction1(variable,string)
{
var myArray = string.split(',');
for (var i=0;i<myArray.length;i++)
{
for (var j=0;j<someIdArray.length;j++)
{
document.getElementById(someIdArray[j]).onclick=function()
{
var localI = i;
myFunction2(variable,myArray[localI]);
}
}
}
}
function myFunction2(variable1,variable2)
{
alert(variable1);
alert(variable2);
}
在这里,您使用myArray[i]
中的值创建一个变量,并将其传递给onClick
函数,而不是将i
传递给函数。您在这里更正的代码,这是范围问题,
你做了两件错事,
1.你得到的数组长度是错误的
2.尚未分配数组元素并传递给单击事件
function myFunction1(variable, string) {
var myArray = string.split(',');
for (var i = 0; i < myArray.length; i++) {
var arrEle = myArray[i];
for (var j = 0; j < someIdArray.length; j++) {
document.getElementById(someIdArray[j]).onclick = function() {
myFunction2(variable, arrEle);
};
}
}
}
function myFunction2(variable1, variable2) {
alert(variable1);
alert(variable2);
}
函数myFunction1(变量,字符串){
var myArray=string.split(',');
对于(var i=0;i
True…但它仍然无法解决问题…aa这是一个打字错误。对不起!
for (var i=0;i<myArray.length;i++)
{
for (var j=0;j<someIdArray.length;j++)
{
var myArrayIElement = myArray[i];
document.getElementById(someIdArray[j]).onclick=function()
{
myFunction2(variable,myArrayIElement);
}
}
}
function myFunction1(variable, string) {
var myArray = string.split(',');
for (var i = 0; i < myArray.length; i++) {
var arrEle = myArray[i];
for (var j = 0; j < someIdArray.length; j++) {
document.getElementById(someIdArray[j]).onclick = function() {
myFunction2(variable, arrEle);
};
}
}
}
function myFunction2(variable1, variable2) {
alert(variable1);
alert(variable2);
}