【问题标题】:Optional paramters in Vanilla-javascriptVanilla-javascript 中的可选参数
【发布时间】:2018-07-17 11:04:16
【问题描述】:

我不知道在某些情况下如何使函数参数成为可选的。 情况是,如果我有多个参数而不是最后一个参数应该是可选的。我看到 ejs 模板引擎解决了这个问题:

ejs.renderFile(templatesPath, options, (err, html) => {
    if (err) {
         console.log(err);   
         error = err;
    } else {
         res.write(html);
         res.end();
    }
})

所以如果我不传递选项参数,回调函数仍将被识别为回调函数而不是选项对象 - 分配给它的角色仍然是回调函数而不是错过的角色参数 - 正常情况下。

那么如何解决 - 在 Javascript 中 - 我仍然定义 2-3 个或更多参数(在函数定义中)但是如果我不传递一个可选参数 - 这不是最后一个 - 它不会改变传递的参数角色。

谢谢

【问题讨论】:

    标签: javascript parameters arguments function-declaration


    【解决方案1】:

    重要的是参数的顺序。因此,你必须遵守它。

    如果函数不支持任何值,只需传递undefinednull 或空对象{}

    下面,options 已声明但未赋值 (undefined)。秩序得到尊重,它将起作用。

    您可以保持这种方式:始终声明变量以将它们传递给函数,并且只有在拥有它时才为它们赋值。

    var options; 
    ejs.renderFile(templatesPath, options, (err, html) => {
        if (err) {
             console.log(err);   
             error = err;
        } else {
             res.write(html);
             res.end();
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2013-11-03
      • 2021-10-20
      • 2010-12-04
      • 2012-06-17
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      相关资源
      最近更新 更多