2014-12-08 3 views
0

Я думаю, что расширение функции работает правильно, но я не уверен, как обрабатывать параметры, которые передаются в функцию, прямо сейчас я получаю сообщение об ошибке x is undefined.Расширение функции javascript с параметрами

Оригинальная функция:

_adloadCallback = function(x, y) { 
    // 
} 

Расширенная функция:

(function() { 
_adLoadCallbackExtend =_adloadCallback(); 
_adloadCallback = function() { 
    console.log("Before"); 
    _adLoadCallbackExtend.apply(this, arguments); 
    console.log("After"); 
    } 
})(); 
+1

Снимите '()' в '_adLoadCallbackExtend = _adloadCallback(); '. Вы хотите установить переменную в функцию, а не вызывать ее. Кроме того, вы должны, вероятно, добавить 'var'. –

+0

ah ha ok спасибо – user1572796

ответ

1

На второй линии, вы седений _adLoadCallbackExtend, чтобы быть результатом вызова _adloadCallback вместо того, чтобы его самого _adloadcallback , что я думаю, что вы пытаетесь сделать. Просто избавьтесь от () в конце второй строки.

0
_adLoadCallbackExtend =_adloadCallback(); 

должен быть

_adLoadCallbackExtend =_adloadCallback; 

ваш путь имеет _adLoadCallbackExtend быть результатом вызова _adloadCallback без аргументов вместо "указатель" функции