2013-11-21 36 views
0

我是一个JavaScript的新手,并创建了一个示例函数来测试JavaScript的应用函数。应用函数javascript循环额外

我需要对这个码一对澄清的,

  1. 值-x将采取第一阵列[ 'VAL1', 'val2的']但是只是想知道它替换到(此,X)..被印在的console.log 2.我看到了3个项目,最后一个项目是 - 不确定的,不确定的,那是什么happends

    var dummyfunction1 = function(val1,val2){ 
        console.log(array1,array2); 
    }; 
    
    [['val1','val2'],['val3','val4']].forEach(function(x){ 
        dummyfunction1.apply(this,x); 
    }); 
    
    dummyfunction1() 
    

回答

3

有几个问题在这里。

dummyfunction1正在使用正文中未定义的变量。它应该是这样的:

var dummyfunction1 = function(val1,val2){ 
    console.log(val1,val2); 
}; 

最后一行dummyfunction1()正在为不带参数的dummyfunction1额外的呼叫。这是你看到的未定义的undefined。

完整的代码应该是这样的:

var dummyfunction1 = function(val1,val2){ 
    console.log(val1,val2); 
}; 

// this will automatically be run, no need to call dummyfunction1 on your own after this 
[['val1','val2'],['val3','val4']].forEach(function(x){ 
    dummyfunction1.apply(this,x); 
});