Код и ръководство за изпълнение на JavaScript

click fraud protection

Проектирането на вашата уеб страница с помощта на JavaScript изисква внимание на реда, в който се появява и кодът ви дали капсулирате код във функции или обекти, всички от които влияят на реда, в който кодът работи.

Местоположението на JavaScript на вашата уеб страница

Тъй като JavaScript на вашата страница се изпълнява въз основа на определени фактори, нека помислим къде и как да добавим JavaScript към уеб страница.

По принцип има три места, на които можем да прикачим JavaScript:

  • Директно в главата на страницата
  • Директно в основата на страницата
  • От обработващ / слушател на събития

Няма значение дали JavaScript е в рамките на уеб страницата себе си или във външни файлове, свързани към страницата. Също така няма значение дали обработчиците на събития са кодирани твърдо в страницата или са добавени от самия JavaScript (с изключение на това, че те не могат да бъдат задействани преди да бъдат добавени).

Код директно на страницата

Какво означава да кажа, че JavaScript е пряко в главата или тялото на страницата? Ако кодът не е затворен във функция или обект, той е директно в страницата. В този случай кодът се изпълнява последователно, веднага щом файлът, съдържащ кода, се зареди достатъчно, за да може да се получи достъп до този код.

instagram viewer

Код, който е във функция или обект, се изпълнява само когато се извиква тази функция или обект.

По принцип това означава, че всеки код вътре в главата и тялото на страницата ви, който не е във функция или обект, ще се стартира, докато страницата се зарежда - веднага щом страницата се е заредил достатъчно за достъп до този код.

Последният бит е важен и влияе върху реда, в който поставяте кода си на страницата: всеки код, поставен директно в страницата, който трябва да взаимодейства с елементи в страницата, трябва да се появи след елементите в страницата, от която зависи.

По принцип това означава, че ако използвате директен код за взаимодействие със съдържанието на вашата страница, такъв код трябва да бъде поставен в долната част на тялото.

Код в рамките на функции и обекти

Код вътре във функции или обекти се изпълнява, когато се извика тази функция или обект. Ако се извиква от код, който е директно в главата или тялото на страницата, тогава нейното място в поръчката за изпълнение е фактически точката, в която функцията или обектът се извиква от директния код.

Код, присвоен на обработващи събития и слушатели

Присвояването на функция на обработващ събитие или слушател не води до това, че функцията се изпълнява в точката, в която е назначена - при условие че всъщност сте възлагане самата функция и не работи функцията и приписването на върнатата стойност. (Ето защо обикновено не виждате () в края на името на функцията, когато тя е присвоена на събитие след добавянето на скоби изпълнява функцията и присвоява върнатата стойност, а не присвояване на функцията себе си.)

Функциите, които са прикачени към обработващи събития и слушатели, се стартират, когато се задейства събитието, към което са прикачени. Повечето събития се задействат от посетителите, взаимодействащи с вашата страница. Има някои изключения, като например натоварване събитие в самия прозорец, което се задейства, когато страницата приключи зареждането.

Функции, прикачени към събития на елементи на страницата

Всички функции, прикачени към събития на елементи в самата страница, ще се изпълняват в съответствие с действията на всеки отделен посетител - този код се изпълнява само когато възникне определено събитие, за да го задейства. Поради тази причина няма значение дали кодът никога не се изпълнява за даден посетител, тъй като той очевидно не е извършил взаимодействието, което го изисква.

Всичко това, разбира се, предполага, че вашият посетител е получил достъп до вашата страница с браузър, който има JavaScript активирана.

Персонализирани скриптове за посетители на потребители

Някои потребители са инсталирали специални скриптове, които могат да взаимодействат с вашата уеб страница. Тези скриптове се изпълняват след целия ви директен код, но преди всеки код, прикачен към манипулатора на събитието за зареждане.

Тъй като страницата ви не знае нищо за тези потребителски скриптове, няма начин да знаете какво могат да правят тези външни скриптове - те биха могли да отменят всеки или целия код, който сте прикачили към различните събития, на които сте присвоили обработка. Ако този код отмени обработвачите на събития или слушателите, отговорът на задействащите събития ще изпълни кода, определен от потребителя, вместо или в допълнение към вашия код.

Точката на начало тук е, че не можете да приемете, че кодът, създаден да се стартира, след като страницата се зареди, ще бъде позволен да изпълнява начина, по който сте го проектирали. В допълнение, имайте предвид, че някои браузъри имат опции, които позволяват деактивиране на някои обработващи събития в браузър, в този случай съответният тригер на събитие няма да стартира съответния манипулатор / слушател на събития във вашия код.

instagram story viewer