Javascript函数作为参数初始化

时间:2018-06-01 02:15:22

标签: javascript

我有在运行时创建按钮的功能。我将标题和onClick函数传递给它:

button1 = new buttonControl("caption1", function(){buttonClick(1);});

这很好但是我说我有20个这样的:

button1 = new buttonControl("caption1", function(){buttonClick(1);});
button2 = new buttonControl("caption2", function(){buttonClick(2);});
button3 = new buttonControl("caption3", function(){buttonClick(3);});
...
button20 = new buttonControl("caption20", function(){buttonClick(20);});

如何在for循环中创建这些?如果我试试这个:

button = [];
for (i = 1; i < 21) i++) button[i] = new buttonControl("caption" + i, function(){buttonClick(i);});

这不起作用,因为每个按钮只会调用buttonClick(21),因为这是i的最后一个值。我的buttonClick函数需要根据传递的参数知道哪个按钮调用它。

0 个答案:

没有答案