我们见到的一般常规的函数传参是下面这样的:
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);
配置对象的优缺点:
优: 不需要记住众多参数以及其顺序
可以安全的忽略非必需参数
更易于阅读和维护
更加易于添加或删除参数
缺: 需要记住参数名
属性名无法被压缩