Javascript连接一个类似于如何添加文本的函数
在javscript中,我们可以做到这一点Javascript连接一个类似于如何添加文本的函数,javascript,Javascript,在javscript中,我们可以做到这一点 var text = "the original text"; text+=";Add this on"; 如果库具有已定义的函数(例如) 有没有一种方法可以添加一些东西,这样我就可以运行两个函数 var myfunction = function() {...}; 比如: library.somefunction += myfunction 因此myfunction()和原始的库.somefunction()都可以运行?您可以使用这种代码(保
var text = "the original text";
text+=";Add this on";
如果库具有已定义的函数(例如)
有没有一种方法可以添加一些东西,这样我就可以运行两个函数
var myfunction = function() {...};
比如:
library.somefunction += myfunction
因此
myfunction()
和原始的库.somefunction()
都可以运行?您可以使用这种代码(保留作用域为空以使用默认作用域):
然后:
我认为您想要创建的是一个(函数)-您想要调用
库.somefunction
,但是在之前添加一些您自己的代码来运行。如果是这种情况,您可以在使用您的代码位后调用或返回库函数
var myfunction = function() {
// your code
// ...
return library.somefunction();
}
您是希望库的函数更改为同时运行原始函数和自定义函数,还是希望新函数同时运行?我希望库的原始函数更改为同时运行两个函数您是否可以检查差异,这正是我想要的!谢谢嗨,rab,我检查过了,它没有通过originalFn.apply的范围。修正了现在我还需要确保在调用library.somefunction()时,myfunction()被钩住的问题
var createSequence = function(originalFn, newFn, scope) {
if (!newFn) {
return originalFn;
}
else {
return function() {
var result = originalFn.apply(scope || this, arguments);
newFn.apply(scope || this, arguments);
return result;
};
}
}
var sequence = createSequence(library.somefunction, myFunction);
var myfunction = function() {
// your code
// ...
return library.somefunction();
}