如何将参数传递给函数

时间:2017-12-04 14:50:49

标签: javascript

我是javascript的新手。在下面发布的代码中,我创建了一个函数caleed" func",但是如图所示它不接受任何参数。我想要的是,制造" func"接受参数 应传递给" fs.readdir"。换句话说,它应该类似于以下内容:

var func(path) = fs.readdir(path, (err, file)......);

这样,每当我用不同的参数调用func时,应该用新参数调用fs.readdir

我该怎么做。

var func = fs.readdir(p, (err, files) => {
if (err) {
console.log('ERROR: ' + err.message);
} else {
    files.filter( (file)=> {
      console.log(file + '____' + fs.statSync(file).size);
    });
  }
});

2 个答案:

答案 0 :(得分:0)

因为你正在使用ES6:

const func = path => fs.readdir(path, (err, files) => {
        // ...
    });

func("somePath") // and call it like this

在ES5中将是:

var func = function(path) {
    fs.readdir(path, (err, files) => {
        // ...
    });
}

func("somePath") // and call it like this

如果要传递多个参数:

const func = (path, arg2, arg3) => fs.readdir(path, (err, files) => {
        console.log(arg2, arg3) // "Second argument", "Third argument"
    });

func("somePath", "Second argument", "Third argument") // and call it like this

答案 1 :(得分:0)

您应该将func定义为新功能。您可以使用箭头函数语法,但使用function关键字更明确。

var func = function (path) { 
    fs.readdir(path, (err, files) => {
    if (err) {
        console.log('ERROR: ' + err.message);
    } else {
        files.filter( (file)=> {
            console.log(file + '____' + fs.statSync(file).size);
        });
    }
    });
}