Сообщение от FINoM
|
Там всё то же присваивание. Было бы интересно сделать что-то типа такого:
|
f = function(){
...
}
f.attachCallListener(function{
...
})
f(); //а здесь уже вызывается функция и обработчик
ты понимаешь, что attachCallListener надо вставить сразу же после определения f, иначе ты можешь пропустить вызов f? А это значит, что ну пусть ты не изменил код функции, но ты должен изменить код рядом с функцией. А о выносе в другой файл вообще речи не должно быть, по-крайней мере в данной абстрактной ситуации. Так что на практике ты к тому же усложняешь себе жизнь тем, что тебе надо думать, в каком месте можно обернуть функцию, чтобы ничего не пропустить.
потом, даже если бы можно было сделать как ты хочешь, как бы это выглядело? Что-то типа jquery.live?
$('/js/script.js:1:f').live(function() {...});
Как указать вызов какой именно функции надо перехватывать?
Сообщение от FINoM
|
А как это потесняет отладчики (или наоборот)?
А можешь, не меняя кода функции, посмотреть, сколько раз и как она вызывалась?
|
скажу другими словами, во-первых ты усложняешь себе жизнь тем, что пишешь что-то ненужное с практической точки зрения, во-вторых, это что-то подразумевает более сложный подход к отладке: проще написать прямо на месте, чем выносить в отдельную функцию.
Сообщение от FINoM
|
А как это потесняет отладчики (или наоборот)?
|
в том-то и дело, что никак
Сообщение от FINoM
|
А можешь, не меняя кода функции, посмотреть, сколько раз и как она вызывалась?
|
я не знаю, зачем мне это. Все о чем ты говоришь я могу сделать с помощью console.log. Причем я смогу вывести именно тот вариант "как она вызывалась", который мне нужен, а не какой-то универсальный. Я ж так понял, что вывод "как она вызывалась" - это одна из задач твоего инструмента?
если же эта задача представляет академический, а не практический интерес, тогда у меня нету вопросов. Не вижу в этом ничего плохого. Но и интерес к ней у меня тогда автоматически пропадает.