javascript - js 传参方式哪个更好?应该如何选择?

查看:65
本文介绍了javascript - js 传参方式哪个更好?应该如何选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

以下两种传参的方式哪个更好?

/**
 * [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);
}

解决方案

我更愿意从需求的复杂度和语义化的角度去看

前一种比较简单,传入的参数很直观明了,至于扩展性的话,可以给设置参数默认值,也问题不大

但是如果传入的参数,其实是一个整体,比如传入一个人的数据,包括身高、体重、三围等,那么就是一个整体,可以包装成对象再传递

不过要注意,传入的是基本类型还是引用类型是有差别的

这篇关于javascript - js 传参方式哪个更好?应该如何选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆