我正在编写一个带有两个参数的方法:第一个是包含表单的jQuery对象,第二个是"选项"具有默认参数的对象,其中一些引用第一个参数中的表单。
我知道默认参数可以引用它之前的默认参数的值,所以我想知道为什么我的代码失败了。
const validation = {
validateForm(form, {
btn: form.find('button'),
action: null,
displayErrInline: form.attr('validate') === 'inline',
disableValidation: false
}) {
// do stuff
}
};
有人可以解释一下这有什么问题吗?
答案 0 :(得分:1)
我弄清楚我做错了什么。我使用冒号为析构化对象提供默认值而不是赋值变量。
以下是将默认值传递给函数参数中的析构对象的正确方法示例:
const validation = {
validateForm(form, {
btn = form.find('button'),
action = null,
displayErrInline = form.attr('validate') === 'inline',
disableValidation = false
}) {
// do stuff
}
};
或者,我可以指定一个空对象(= {}
)作为第二个参数的默认值,以避免在没有传递第二个参数时出错。