Vanilla 中的可选参数-javascript
Optional paramters in Vanilla-javascript
我不知道在某些情况下如何使函数参数成为可选参数。
情况是,如果我有不止一个参数,而不是最后一个应该是可选的。我看到 ejs 模板引擎解决了这个问题:
ejs.renderFile(templatesPath, options, (err, html) => {
if (err) {
console.log(err);
error = err;
} else {
res.write(html);
res.end();
}
})
所以如果我不传递选项参数,回调函数仍将被识别为回调函数而不是选项对象 - 分配给它的角色仍然是回调函数而不是角色遗漏的参数 - 正常情况下。
那么如何解决 - 在 Javascript 中 - 我仍然定义了 2-3 个或更多参数(在函数定义中),但如果我不传递可选参数 - 这不是最后一个 -它不会更改传递的参数角色。
谢谢
重要的是参数的顺序。所以,你们一定要尊重。
如果函数不支持无值,只需传递undefined
、null
或空对象{}
。
下面,options
已声明但未赋值 (undefined
)。订单受到尊重,它将起作用。
你可以保持这种方式:始终声明变量以将它们传递给函数,并且仅在拥有时才为其赋值。
var options;
ejs.renderFile(templatesPath, options, (err, html) => {
if (err) {
console.log(err);
error = err;
} else {
res.write(html);
res.end();
}
});
我不知道在某些情况下如何使函数参数成为可选参数。 情况是,如果我有不止一个参数,而不是最后一个应该是可选的。我看到 ejs 模板引擎解决了这个问题:
ejs.renderFile(templatesPath, options, (err, html) => {
if (err) {
console.log(err);
error = err;
} else {
res.write(html);
res.end();
}
})
所以如果我不传递选项参数,回调函数仍将被识别为回调函数而不是选项对象 - 分配给它的角色仍然是回调函数而不是角色遗漏的参数 - 正常情况下。
那么如何解决 - 在 Javascript 中 - 我仍然定义了 2-3 个或更多参数(在函数定义中),但如果我不传递可选参数 - 这不是最后一个 -它不会更改传递的参数角色。
谢谢
重要的是参数的顺序。所以,你们一定要尊重。
如果函数不支持无值,只需传递undefined
、null
或空对象{}
。
下面,options
已声明但未赋值 (undefined
)。订单受到尊重,它将起作用。
你可以保持这种方式:始终声明变量以将它们传递给函数,并且仅在拥有时才为其赋值。
var options;
ejs.renderFile(templatesPath, options, (err, html) => {
if (err) {
console.log(err);
error = err;
} else {
res.write(html);
res.end();
}
});