javaScript函数传值的小疑惑

(click)="betThis(table, id, name)"

betThis(table, id, name){
    //do something...
}


上面是一个click事件和function

但假设我今天有另外一个地方也要用相同的click事件,但是它不需要传三个值

它可能只需要传table和name

(click)="betThis(table, '', name)"

那我只能这样写吗 一个写空值?

总觉得要多写一个空值怪怪的 有办法省略吗?

阅读 1.8k
3 个回答

可以以对象的形式传递,给函数传递一个对象作为参数:

betThis({
  table: "",
  id: "",
  name: ""
})

函数内部访问对象的属性就行了,问题中的参数变动就可以这样传:

betThis({
  table: "",
  name: ""
})

其次,如果不这样的话,可以把不确定有没有的参数放在最后,例如参数id不确定有没有,可以这样:

betThis(table, name, id)

没有的话直接省去最后一个参数就可以了。

name = name || "你想要的任何值";
或者可以吧name放在第三个参数

记不清是es6还是ts的规范了,必须参数应放在可选参数前面;我觉得照着这个规范来就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题