以下两种传参的方式哪个更好?
/**
* [sayHello description]
* @Author Wangduanduan
* @DateTime 2016-12-08T14:15:01+0800
* @param {[String]} name [agent name]
* @param {[String]} age [agent age]
* @param {[String]} sex [agent sex]
* @return {[]} [description]
*/
function sayHello(name, age, sex){
console.log(name);
console.log(age);
console.log(sex);
}
/**
* [sayHello2 description]
* @Author Wangduanduan
* @DateTime 2016-12-08T14:17:29+0800
* @param {[Object]} agent [agent.name, agent.age, agent.sex]
* @return {[]} [description]
*/
function sayHello2(agent){
console.log(agent.name);
console.log(agent.age);
console.log(agent.sex);
}
我更愿意从需求的复杂度和语义化的角度去看
前一种比较简单,传入的参数很直观明了,至于扩展性的话,可以给设置参数默认值,也问题不大
但是如果传入的参数,其实是一个整体,比如传入一个人的数据,包括身高、体重、三围等,那么就是一个整体,可以包装成对象再传递
不过要注意,传入的是基本类型还是引用类型是有差别的