相关疑难解决方法(0)

允许在Javascript中使用命名参数或位置参数

我怎样才能有一个函数接受或者命名参数(foo({a: 'hello', b: 'it is me'}))位置参数(foo('hello', 'it is me'))?

我知道可以通过将对象传递给函数来模拟命名参数:

function foo(options) {
    options = options || {};
    var a = options.a || 'peanut'; // whatever default value
    var b = options.b || 'butter'; // whatever default value
    console.log(a, b);
}

// ES6 allows automatic destructuring
function foo({a = 'peanut', b = 'butter'} = {}) {
    console.log(a, b);
}
Run Code Online (Sandbox Code Playgroud)

但这不允许我接受通过的位置论证.

我想使用ES6,但ES5的任何东西都可以.

javascript parameter-passing ecmascript-6

7
推荐指数
1
解决办法
774
查看次数

仅在javascript中传递第二个参数

我目前正在尝试制作一个仅传递函数第二个参数的函数。我已经阅读了一些文档,但没有任何探索。

我会做到的:

 function test (a,b){ ....};
    // pass only the second parameter 
    test( ... , b) ;
Run Code Online (Sandbox Code Playgroud)

我当前的想法是将第二个参数作为实际的动态默认参数传递,如下所示:

    var defaultVar = "something" ;

    function test (a,b = defaultVar){...}
Run Code Online (Sandbox Code Playgroud)

然后根据我的需要更改defaultVar值。

var defaultVar = modification ; 
Run Code Online (Sandbox Code Playgroud)

实际上,我正在使用Google驱动器API,并且尝试在第二个参数中输入字符串值以进行回调。此回调将充当验证返回文件是否有效的搜索文件的角色(通​​过对名称值进行布尔验证)。

因此,我的想法是通过传递他的名字并以此方式检索文件数据来自动化在Google驱动器上获取文件的过程。

我希望我的精确度会有所帮助。

这是我的quickstart.js:

(...Google authentication and all) ; 

 var filename = "";
// enter a filename in the function by the way of filename
function listFiles (auth, filename =  filename) {
  const drive = google.drive({version: 'v3', auth});
  drive.files.list({
    pageSize: 50,
    fields: 'nextPageToken, files(id, …
Run Code Online (Sandbox Code Playgroud)

javascript arguments function

6
推荐指数
2
解决办法
3998
查看次数