在 JavaScript 中,如何创建一个与现有函数同名的新函数,同时保留原始函数以便可以从新函数中调用它?

有帮助吗?

解决方案

可以通过本来的功能到它返回其具有访问原始功能的替代功能匿名函数。

E.g。

parseInt = (function parseInt(original) {
    return function (x) {
        console.log("original would've returned " + original(x));

        // just random 'new' functionality
        return (x | 0) * 2;
    };
}(parseInt));

输出示例:

>> parseInt(10);
<< original would've returned 10
<< 20

其他提示

你想要实施 函数包装, ,检查以下文章:

您可以简单地老功能使用不同的名称分配给一个变量:

var old_parseInt = parseInt;

function parseInt(s) {
   return old_parseInt(s) + 1;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top