《JavaScript设计模式》——10.5 参数适配器

    xiaoxiao2024-05-26  107

    本节书摘来自异步社区《JavaScript设计模式》一书中的第10章,第10.5节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看

    10.5 参数适配器

    “除此之外,适配器还有很多用途,比如方法需要传递多个参数,例如……”

    function doSomeThing(name, title, age, color, size, prize){}“那么我们记住这些参数的顺序是很困难的,所以我们经常是以一个参数对象方式传入的。如下所示。”

    /** * obj.name : name * obj.title : title * obj.age : age * obj.color : color * obj.size : size * obj.prize : prize ***/ function doSomeThing(obj){}

    “然而当调用它的时候又不知道传递的参数是否完整,如有一些必须参数没有传入,一些参数是有默认值的等等,此时我们通常的做法是用适配器来适配传入的这个参数对象。如下所示。”

    function doSomeThing(obj){   var _adapter = {     name : '雨夜清荷',     title : '设计模式',     age : 24,     color : 'pink',     size : 100,     prize : 50   };   for(var i in _adapter){     _adapter[i] = obj[i] || _adapter[i];   }   // 或者 extend(_adapter, obj) 注:此时可能会多添加属性   // do things }

    “这种方式很常见呀,很多插件对于参数配置都是这么做的。”小白应道。

    最新回复(0)