Javascript连接一个类似于如何添加文本的函数

Javascript连接一个类似于如何添加文本的函数,javascript,Javascript,在javscript中,我们可以做到这一点 var text = "the original text"; text+=";Add this on"; 如果库具有已定义的函数(例如) 有没有一种方法可以添加一些东西,这样我就可以运行两个函数 var myfunction = function() {...}; 比如: library.somefunction += myfunction 因此myfunction()和原始的库.somefunction()都可以运行?您可以使用这种代码(保

在javscript中,我们可以做到这一点

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();
}