Page 39 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 39

c . fillColor   ' g reen ' ;
       } ;

          На первом этапе этот код создает наш объект инструмента. Сделав это, мы можем
       закрепить за ним обработчик событий (event handler), в данном случае - обработ­
                                   s
       чик событий по имени onMou e Down. Всякий раз, когда пользователь щелкает мы­
       шью, вызывается функция, которую мь1 закрепили за этим обработчиком. Это очень
       важно понять. Наш предыдущий код выполнялся сразу же: мы обновили браузер,
       и зеленые круги появились автоматически. Здесь этого не происходит, а если бы про­
       изошло, то был бы нарисован один зеленый круг где-нибудь на экране. Вместо этого
       код, содержавшийся между фигурными скобками после слова function, выполняет­
       ся только тогда, когда пользователь щелкает мышью на холсте.
          Обработчик событий делает две вещи: выполняет ваш код, когда происходит щел -
       чок мышью, и указывает вам, где произошел щелчок. Место щелчка хранится в свой­
       стве аргумента, event . point, у которого есть два свойства, х  и у, указывающих ко­
       ординаты щелчка.
          Обратите  внимание:  мы  могли  бы сэкономить на вводе кода, непосредственно
       передав точку в Circle (вместо передачи координат х и у по отдельности).

       var  с  =    Shape . C ircle ( e vent . p oint ,  2 0 ) ;
          Это подчеркивает очень важный аспект JavaScript: он в состоянии узнавать ин­
       формацию о передаваемых переменных. В предыдущем случае, встретив три числа
       подряд, он знает, что они представляют координаты х, у и радиус. Если он встречает
       два аргумента, то знает, что первый - объект типа point, а второй - радиус. Боль­
       ше об этом мы узнаем в главах 6 и 9.

       Программа       Hello, World


          Давайте завершим эту главу примером Брайана Кернигана 1 9 72 года. Вся тяже­
       лая работа уже сделана, осталось лишь добавить текст. Перед вашим обработчиком
       onMouseDown добавьте следующее.
       var  с  =    Shape . C ircle ( 2 0 0 ,   2 0 0 ,   8 0 ) ;
       c . fillColor  =  ' Ы  асk ' ;
                            x
       var  text  =  new  PointTe t ( 2 0 0 ,   2 0 0 ) ;
              s
       text . j u t i fication  =  ' c enter ' ;
       text . fillColor  =  ' w hite ' ;
       text . fontSize  =  2 0 ;
       text . content  =  ' h ello  world ' ;
          Это дополнение довольно простое: мы создаем другой круг,  который будет фо­
       ном для нашего текста, а затем фактически создаем текстовый объект (PointText).
       Мы определяем место вывода (центр экрана) и несколько дополнительных свойств



                                                          Программа Hello, World   37
   34   35   36   37   38   39   40   41   42   43   44