var setting = { onbefore : function(param1){ alert("onbefore param1: " + param1); }, onAfter : function(param1 , param2){ alert("onAfter param1: " + param1); alert("onAfter param2: " + param2); } }; function plugin(setting){ this.setting = setting; this.action = function(param1,param2){ if(typeof this.setting.onbefore == "function"){ //arguments参数实际上是代表的action的参数传递至 this.setting.onbefore.apply(this,arguments); } console.info("action 处理业务逻辑"); if(typeof this.setting.onbefore == "function"){ //arguments参数实际上是代表的action的参数传递至 this.setting.onAfter.apply(this,arguments); } } return this; } plugin(setting).action("canshu1","canshu2");