配置对象方法传参

我们见到的一般常规的函数传参是下面这样的:

function fn ( a,b ) {
    console.log( a,b );
}
//常规传参方式
fn( 1,2 );      //12

但是当函数需要很多个参数,而且参数的位置会影响到结果的时候常规的函数传参方式就显得捉襟见肘,例如

function fn  ( a,b,c,d,e,f,g ){
    console.log( a,b,c,d,e,f,g );
}

此时如果再使用原来那种传参方式出错的概率会大大增加

此时我们可以尝试 配置对象 传参,可以把上面的例子写成:

function fn ( obj ){
    console.log( obj.a, obj.b, obj.c, obj.e, obj.f, obj.g );
}
//配置对象,可以不用注意其顺序
var myObj = {
    a: 1,
    d: 4,
    c: 3,
    b: 2,
    e: 5,
    g: 6
}
//传参
fn( myObj);

配置对象的优缺点:

优: 不需要记住众多参数以及其顺序

可以安全的忽略非必需参数

更易于阅读和维护

更加易于添加或删除参数

缺: 需要记住参数名

属性名无法被压缩

配置对象的方法在 ajax 当中出现频率很高。

时间: 2024-10-05 12:34:55

配置对象方法传参的相关文章

方法传参

关于方法传参: (参数也叫 参变量 ,它是专属于方法体的局部变量!) 首先我想先说一个结论:基本数据类型作形参时,实参向形参传递的是值:引用数据类型作形参时传递的是 对象.(其实传递都是值,具体可参考http://www.cnblogs.com/wsw-blog/articles/my-bolgs-898558572.html)    我们知道在调用带参方法时需要按照该方法的形参变量列表将类型.顺序一 一对应的实参变量的值传递过去. 这就是方法的参数传递! 当基本数据类型作为形参时,无论形参变量

wx.request中POST方法传参问题,用到JSON.stringify()

前面用到了get方法传参,现在post也需要传参传输内容进去,下面我来一步步研究: 遇到的问题: 传参进去后反馈参数为空,没有报错.错误代码如下: wx.request({ url: '某地址', method: "post", data: { msg: { "phone": "某电话", "content": this.data.text, "date":this.data.time } }, heade

EasyUI queryParams属性 在请求远程数据同时给action方法传参

http://www.cnblogs.com/iack/p/3530500.html?utm_source=tuicool EasyUI queryParams属性 在请求远程数据同时给action方法传参 属性名 属性值类型 描述 默认值 queryParams object 在请求远程数据的时候发送额外的参数. 代码示例: $('#dg').datagrid({ queryParams: { name: 'easyui', subject: 'datagrid' } }); {} Actio

javascript 字符串方法传参

javascript 字符串方法传参由于嵌套的单引号,双引号过多.有点混乱.. 正确方法如下: '   <td align="left"><input type="button"  id="btnBack" value="确定" class="bigbt"  onclick="continuePassword(\''+cardnumber+'\')"/></

Ajax之Json对象序列化传参

前端部分:传入参数 "groupObject" : jsonString //对象序列化传参 var projectGroup = {}; projectGroup["id"] = id; projectGroup["isEnable"] = isEnable; projectGroup["employeeNo"] = employeeNo; projectGroup["employeeName"] = e

MyBatis dao层 方法传参

MyBatis dao层 方法传参有三种方法. 1. 以下标的方法获取参数. <update id="insertSuccessKilled">       INSERT ignore INTO success_killed(seckill_id,user_phone,state)VALUES (#{0},#{1},1) </update> 2. 以map作为dao方法中的参数,通过使用key和类型来获取参数. <select id=" sele

cocos2dx 菜单按钮回调方法传参 tag传参

.h文件 void menuCallBack(CCObject* pSender); .cpp CCMenuItemSprite* item = CCMenuItemSprite::create( menuCB1, menuCB2, this, menu_selector(helloworld::menuCallBack)); item->setTag(m); 回调方法 void helloworld::menuCallBack(CCObject* pSender) { CCNode* node

Vue配置路由和传参方式及路由守卫!

安装路由 npm i vue-router -S 引入路由 import VueRouter form VueRouter 注入路由模块 Vue.use(VueRouter) 定义路由匹配规则 let routes = [ {...}, {...} ] 上列匹配规则中 对象有如下属性 path : 路由路径 component : 所加载的组件 name : 别名 redirect : 重定向 children : 子级路由 创建路由实例 let router = new VueRouter({

Java方法传参

1.创建students类-----//主要构造对象 http://vipnoon.blog.51cto.com/7589908/1792786 2.创建calc类---------//主要构造方法 public class calc { public void calc1(int num){  num = num + 1; } public void calc2(students stu){ stu.setAge(stu.getAge()+1); } } 3.创建calcDemo类-----/