2010-06-10 4 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; 
} 
Смежные вопросы