在for循环中创建函数

时间:2016-04-11 21:38:37

标签: javascript

我想我有一个简单的问题。

我正在尝试将这4个函数转换为循环:

function Incr1(){
    document.forms[0].NavigationButton.value='Next';
    document.PledgeForm.FUDF9.value='Y1';
    document.forms[0].submit();}

function Incr2(){
    document.forms[0].NavigationButton.value='Next';
    document.PledgeForm.FUDF9.value='Y2';
    document.forms[0].submit();}

function Incr3(){
    document.forms[0].NavigationButton.value='Next';
    document.PledgeForm.FUDF9.value='Y3';
    document.forms[0].submit();}

function Incr4(){
    document.forms[0].NavigationButton.value='Next';
    document.PledgeForm.FUDF9.value='Y4';
    document.forms[0].submit();}

这就是我所处的地方,但它不起作用。

for (var i = 1; i < 5; i++) {
    function 'Incr'+i(){
        document.forms[0].NavigationButton.value='Next';
        document.PledgeForm.FUDF9.value='Y'+i;
        document.forms[0].submit();
    }
}

感谢您的帮助!!!

1 个答案:

答案 0 :(得分:3)

您可以使用对象:

&#13;
&#13;
var obj = {};

for (var i = 1; i < 5; i++) {
    (function(i) {
        obj['Incr' + i] = function() {
            //document.forms[0].NavigationButton.value = 'Next';
            //document.PledgeForm.FUDF9.value = 'Y' + i;
            //document.forms[0].submit();
            document.write(i + '<br>');
        }
    })(i);
}

obj.Incr3();
   
obj.Incr4();
&#13;
&#13;
&#13;