firebug - как я могу определить, какие функции были вызваны или откуда была вызвана функция - PullRequest
0 голосов
/ 24 февраля 2012

Я пытаюсь оптимизировать скрипт и использую профилировщик firebug, чтобы увидеть, какие функции используют больше всего времени для запуска с этого момента.

Моя проблема в том, что скрипт использует jQuery и Raphaeljs, а их функции, события и т. Д. Указаны как «анонимные».Все они.

Как вы можете видеть на изображении ниже, все, что я определил, появляется с именем.

Вот изображение того, что я вижу (изображение читаемо, просто немного увеличьте масштаб (ctrl +"+")).

enter image description here

Поскольку я не планирую модифицировать jQuery или Raphael, мне все равно, как называется эта функция (хотя это будетприятно знать) но мне действительно интересно, откуда эта функция была вызвана (чтобы узнать, могу ли я уменьшить количество вызовов или что-то в этом роде).Есть идеи, как это сделать?

Спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

В Firebug используйте панель стека, чтобы определить, кто звонит, а кто вызван.Во время процесса отладки используйте незавершенную версию сценариев, чтобы установить точку останова в правильных положениях.

2 голосов
/ 24 февраля 2012

Чтобы узнать, какая функция вызвала текущую функцию, используйте это:

alert(arguments.callee.caller.name);

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

arguments.callee.caller.caller.name 
...