Javascript用作带参数的参数

Flu*_* SE 1 javascript

我想要的是加载多个文件.这些文件都使用相同的函数加载,只有文件名不同.此函数应返回一个对象.像这样的东西:

var files = [ loadFile("file1.txt"), loadFile("file2.txt"), loadFile("file3.txt") ]; 

// Example function
function loadFile( file_name ) {
    return "loaded file " + file_name;
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,它直接加载它.

var files = [ loadFile, loadFile, loadFile ];

// now please
for (var i = 0; i < files.length; i++) {
    files[i]();
}
Run Code Online (Sandbox Code Playgroud)

但这种方式我不能给它论证.现在我可以创建这样的填充函数,但我可能有更好的方法来做到这一点......

function loadFile1() {
    return loadFile( "file1.txt" );
}
Run Code Online (Sandbox Code Playgroud)

如果可能,我如何将Javascript函数作为带参数的参数加载?

*做了一些测试.我将使用bind()获取答案,因为这正是我所寻找的.但我想提一下斯图尔特的回答,我肯定会记住以后的用途.MoeSattler&vlaz感谢你们展示其他好方法!

Stu*_*art 6

你不能这样做:

// Example function
function loadFile( file_name ) {
    return "loaded file " + file_name;
}

var files = ["file1.txt", "file2.txt", "file3.txt"]; 
for (i = 0; i < files.length; i++) {
    loadFile(files[i]);
}
Run Code Online (Sandbox Code Playgroud)

  • 确实是@MoeSattler,但由于OP已经在使用那种代码,我以同样的方式回答(没有混淆) (3认同)
  • 完全没有理由用于循环.map/forEach那东西:) (2认同)