2010-06-10 67 views

回答

8

您可以将原始函数传递给匿名函数,该函数返回可以访问原函数的替换函数。

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 
1

您可以简单地将旧功能分配给具有不同名称的变量:

var old_parseInt = parseInt; 

function parseInt(s) { 
    return old_parseInt(s) + 1; 
}