[函数参数]什么是必选单参和可选多参?

2017-03-03  本文已影响70人  趁你还年轻233

如上图所示,request(config)很好理解,即传入单个config参数(其实这里应该叫必选多参,因为这里只有config一个参数)。
但是axios.get(url[,config])是什么意思?这很令我费解。
1.于是去请教大牛,大牛说:

2.中文axios文档说中,

3.去查阅资料,学习到:
1)config是可选多参

var config = {
  headers: {'X-My-Custom-Header': 'Header-Value'}
};
axios.get('https://api.github.com/users/codeheaven-io');
axios.get('https://api.github.com/users/codeheaven-io', config);

2)data也是可选多参

axios.get('https://api.github.com/users/codeheaven-io', config);
axios.post('/save', config);
axios.get('https://api.github.com/users/codeheaven-io', config);
axios.post('/save', { firstName: 'Frank' , lastName: 'Kai'}, config);

3)url是必选单参
没有为什么。

问题再次回归到axios.get(url[,config])上来:
  其中的url是必选单参(必选且只有1个参数),config则是可选多参(可选且含有n个参数,n>=1)。

同理,axios.post(url[,data[,config]])中:
  url是必选单参,data和config则都是可选多参。
  
  除了必选单参和可选多参,其实还包括必选多参和可选单参数。未提及的两个概念其实和字面意思一样,很容易理解。

参考链接:
how-to-use-axios-as-your-http-client
aixos中文文档
axios英文文档

希望这篇博客对大家有用!
努力成为优秀的前端工程师!
2017年3月28日更新:
Qlik中的语法也印证了我的观点:



  看来逗号加省略号的形式代表的就是可选参数,例如{ , variable... } , [ , variable... ]这两种形式。

上一篇下一篇

猜你喜欢

热点阅读