如何覆盖另一个javascript文件中的函数?

Jis*_*A P 9 javascript overriding

我有一个JavaScript文件Mybasefile.js,它有这个功能Mybasefunction().我想在另一个JavaScript文件中覆盖此函数.在按钮单击中调用该函数时,我希望原始文件Mybasefunction()与其他一些代码一起执行.我怎样才能做到这一点?

Hor*_*mir 21

将此代码放在覆盖文件中.确保在原始文件之后包含覆盖文件.

var orig_Mybasefunction = window.Mybasefunction;
window.Mybasefunction = function(){
    orig_Mybasefunction();
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 您可能希望通过将此代码包装在匿名函数中来隐藏`orig_Mybasefunction`变量:`(function(){var orig_ ...}());`这样,您就不会破坏全局命名空间,而您将能够在其他地方使用名称`orig_Mybasefunction`而不会干扰此代码. (5认同)