gpt4 book ai didi

javascript - 向所有函数添加一行代码

转载 作者:行者123 更新时间:2023-11-28 12:37:31 25 4
gpt4 key购买 nike

所以我在 JS 方面工作很多,并且在事件方面工作很多(尽量保持模块化)。目前我在每个函数的末尾调用 Event.fire('eventName') 。我正在寻找一种方法,让我的对象/类中的任何函数在所有函数末尾自动调用 Event.fire([function name])

示例:

function MyClass(){
this.on('someFunc', this.funcTwo);
this.someFunc();
}
MyClass.prototype.on = function( event ){
// the event stuff //
}
MyClass.prototype.someFunc = function(){
console.log('someFunc');
}
MyClass.prototype.funcTwo = function(){
console.log('funcTwo');
}

最佳答案

您可以尝试这样的方法,动态修改您的函数:

var obj = MyClass.prototype;
for (var prop in obj)
if (typeof obj[prop] == "function") // maybe also prop != "on" and similar
(function(name, old) {
obj[prop] = function() {
var res = old.apply(this, arguments);
Event.fire(name);
return res;
};
})(prop, obj[prop]);

关于javascript - 向所有函数添加一行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com