js有没有什么方法可以在调用一个对象方法之前调用一个指定函数
发布于 11 年前 作者 ty-bt 3317 次浏览 最后一次编辑是 8 年前

js有没有什么方法可以在调用一个对象方法之前调用一个指定函数 比如 , 我想在调用a,b,c方法之前都调用一次c方法

function obj(){
	this.a = function(){
		console.log("a");
	}
	this.b = function(){
		console.log("b");
	}
	this.c = function(){
		console.log("c");
	}
}
1 回复

this.compose = function (f) { var args_c = Array.prototype.slice.apply(arguments, 1); var self = this; return function () { self.c.apply(self, args_c); f.apply(self, arguments); }; };

var o = new obj(); o.compose(o.a.bind(o), f函数的参数值1,f函数的参数值2, …) (a函数的参数值1, a函数的参数值2, …);

var m = function (x) { return x * 2; }; o.compose(m, 1)();

回到顶部