Javascript 该函数有几个参数。但是,不要传递所有参数
从“选择”中选择“已完成”、“未完成”或“正在进行”的值。在handleStatus函数中,我调用getDetail函数并将值status=e.target.value传递给它。但是,在getDetail函数incole.log statusreturn meundefined中 代码如下: javascript没有命名参数。此代码表示将e.target.value分配给变量状态,然后将其作为第一个参数传入。在getDetail内部,第一个参数被分配给局部变量查询。没有传入第二个参数,因此在getDetail中,第二个参数未定义。第二个参数可以在本地称为status,但这与函数外部发生的事情无关 如果要将e.target.value作为状态传入,则需要将其作为第二个参数:Javascript 该函数有几个参数。但是,不要传递所有参数,javascript,reactjs,Javascript,Reactjs,从“选择”中选择“已完成”、“未完成”或“正在进行”的值。在handleStatus函数中,我调用getDetail函数并将值status=e.target.value传递给它。但是,在getDetail函数incole.log statusreturn meundefined中 代码如下: javascript没有命名参数。此代码表示将e.target.value分配给变量状态,然后将其作为第一个参数传入。在getDetail内部,第一个参数被分配给局部变量查询。没有传入第二个参数,因此在ge
this.getDetail(undefined, e.target.value);
出于这个原因,通常会将可选变量放在参数列表的末尾,因此您可以简单地省略它们,而不是填写一个显式的未定义变量
如果要传入大量参数,另一种选择是使用单个参数,即对象。函数中的代码可以检查对象上是否存在属性,调用函数的代码可以随意忽略或包含对象上的属性。例如:
const example = (options) {
if (options.status) {
// whatever
}
if (options.query) {
// whatever
}
}
// To be used like:
example({ query: 'foo', status: 'complete' });
example({ status: 'incomplete' });
example({ query: 'bar' });
您对this.getDetailstatus=e.target.value行的具体意图是什么?@CollinD在this.getDetails中我有两个参数query和status。在这种情况下我只通过身份认证。我想给状态值e.target.values赋值听起来尼古拉斯的回答完全涵盖了你!如果您需要可选的无序参数,另一个选项是使用options对象,this.getDetail{status:e.target.value}@CollinD关于选项对象的好主意;我已经把这一点纳入了我的回答中。
this.getDetail(undefined, e.target.value);
const example = (options) {
if (options.status) {
// whatever
}
if (options.query) {
// whatever
}
}
// To be used like:
example({ query: 'foo', status: 'complete' });
example({ status: 'incomplete' });
example({ query: 'bar' });