【发布时间】:2010-06-10 02:13:34
【问题描述】:
在 JavaScript 中,如何创建一个与现有函数同名的新函数,同时保留原始函数以便在新函数中调用它?
【问题讨论】:
在 JavaScript 中,如何创建一个与现有函数同名的新函数,同时保留原始函数以便在新函数中调用它?
【问题讨论】:
您可以将原始函数传递给一个匿名函数,该函数返回一个可以访问原始函数的替换函数。
例如
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;
}
【讨论】: