Ну, я надеюсь, что смогу разобрать это для вас достаточно:
Ваша программа запускается, затем запускается Строка 3 с выводом:
I'm in line 3!
Затем он попадает в следующий раздел:
stage.addEventListener(Event.ENTER_FRAME, generateURLs);
imageThumb.invButton.addEventListener(MouseEvent.MOUSE_OVER, showBar);
imageThumb.invButton.addEventListener(MouseEvent.MOUSE_OUT, hideBar);
Важно отметить, что приведенный выше код на самом деле ничего не вызывает, вместо этого он регистрирует прослушиватель (определенную вами функцию), который будет выполняться при наступлении определенного события. Например, первая строка stage.addEventListener (Event.ENTER_FRAME, generateURLs); присоединяет прослушиватель событий, который сработает, как только будет введен первый кадр, и выполнит функцию generateURLs .
Затем программа интерпретирует строку 8 и выполняет ее:
I'm in line 8
После этого вы определяете функцию generateURLs , за которой следует еще одна трассировка, которая выдает:
I'm in line 24
После этого вы снова определяете некоторые функции ( showBar , hideBar ), за которыми следует другой оператор трассировки, приводящий к:
I'm in line 34
Хорошо, теперь важно отметить, что все, что вы сделали, - это зарегистрировали слушателей событий для прослушивания ваших событий. Тем не менее, ни одно из ваших событий не было запущено, поэтому вы не видели, чтобы ни один из вызовов трассировки не выполнялся ни в одной из ваших функций. Однако, поскольку это последняя строка в кадре 1, программа теперь запускает Event.ENTER_FRAME , который вы зарегистрировали для прослушивания, который, в свою очередь, вызывает вашу функцию generateURLs , в результате чего pokemon / img_XX.jpg вывод.
Остальное самоочевидно, если вы поняли, что я сказал до сих пор.
Надеюсь, это поможет.