Псевдоним метода цепочки в JavaScript? - PullRequest
3 голосов
/ 10 июня 2010

Как в JavaScript вы могли бы создать новую функцию с тем же именем, что и существующая функция, сохранив при этом исходную функцию, чтобы ее можно было вызывать из новой?

Ответы [ 3 ]

8 голосов
/ 10 июня 2010

Вы можете передать исходную функцию в анонимную функцию, которая возвращает функцию замены, которая имеет доступ к исходной функции.

* 1003 Е.Г. *

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
2 голосов
/ 10 июня 2010

Вы хотите реализовать функцию обтекания , проверьте следующие статьи:

1 голос
/ 10 июня 2010

Вы можете просто назначить старую функцию переменной с другим именем:

var old_parseInt = parseInt;

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