Показать сообщение отдельно
  #7 (permalink)  
Старый 13.05.2014, 22:23
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Octane, он (Ruslan_xDD) просто не понял задумку)

Сообщение от tsigel
Опытным путём набирая в консоли и гугля я наткнулся на то что все функции при вызове используют Function.prototype.call
это не так
Function.prototype.call = (function(method) {
    return function() {
        alert(1);
        return method.apply(this, arguments);
    };
}(Function.prototype.call));

function test() {}

test.call(); // 1
test(); //


Сообщение от tsigel
Хочу переписать прототип функции так, чтобы при каждом вызове любой функции выполнялось какое либо действие. Например "console.log('hello!')". Я знаю что это делать нельзя и руки за это обрывают, но делаю это для себя просто чтобы лучше понимать как работают функции.
напиши враппер:
function wrap(method) {
    return function() {
        alert('your code');
        return method.apply(this, arguments);
    };
}

console.log = wrap(console.log);

console.log(1);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием