A weboldal JavaScript használatával történő megtervezéséhez figyelembe kell venni a kód megjelenési sorrendjét és a következőket függetlenül attól, hogy kódolja-e a funkciókat vagy objektumokat, és ezek mind befolyásolják a kód sorrendjét fut.
A JavaScript helye az Ön weboldalán
Mivel az Ön webhelyén található JavaScript bizonyos tényezők alapján fut, fontolja meg, hol és hogyan lehet hozzáadni a JavaScriptet egy weboldalhoz.
Alapvetően három hely van, ahova csatolhatjuk a JavaScriptet:
- Közvetlenül az oldal fejébe
- Közvetlenül az oldal törzsébe
- Eseménykezelőtől / hallgatóktól
Nincs különbség abban, hogy a JavaScript-e a weboldalon belül önmagában vagy az oldalhoz kapcsolódó külső fájlokban. Nem is számít, hogy az eseménykezelők be vannak-e kódolva az oldalra, vagy maga a JavaScript adja hozzá (azzal a különbséggel, hogy nem indíthatók el, mielőtt hozzáadnák).
Kód közvetlenül az oldalon
Mit jelent azt mondani, hogy a JavaScript az? közvetlenül az oldal fejében vagy testében? Ha a kód nem szerepel egy függvényben vagy objektumban, akkor közvetlenül az oldalon található. Ebben az esetben a kód egymás után fut, mihelyt a kódot tartalmazó fájl megfelelően betöltődött ahhoz, hogy a kód elérhető legyen.
A függvényen vagy az objektumon belüli kódot csak akkor futtatják, amikor a függvényt vagy az objektumot meghívják.
Alapvetően ez azt jelenti, hogy az oldal fejében és testében található bármely olyan kód, amely nem tartozik egy funkcióhoz vagy objektumhoz, az oldal betöltésekor fut - amint az oldal elegendően betöltötte a kód eléréséhez.
Ez az utolsó bit fontos, és befolyásolja a kódjának az oldalra helyezésének sorrendjét: minden olyan kódnak, amely közvetlenül az oldalra kerül, és az oldal elemeivel kölcsönhatásba kell lépnie, megjelennie kell utána azon elemek elemei, amelyektől függ.
Általában ez azt jelenti, hogy ha közvetlen kódot használ az oldal tartalmához való interakcióhoz, akkor ezt a kódot a test aljára kell elhelyezni.
Kód a funkciókon és objektumokon belül
A funkciók vagy objektumok belső kódját minden alkalommal futtatjuk, amikor azt meghívjuk. Ha azt a kódot hívják, amely közvetlenül az oldal fejében vagy testében található, akkor annak helye a A végrehajtási sorrend ténylegesen az a pont, ahol a függvény vagy objektum közvetlen hívásra kerül kód.
Eseménykezelők és hallgatók számára rendelt kód
Funkció hozzárendelése eseménykezelőhöz vagy figyelőhöz nem eredményezi a funkció futtatását azon a ponton, ahol azt hozzárendelték - feltéve, hogy valójában Ön hozzárendelése maga a funkció és nem fut a visszatért érték funkciója és hozzárendelése. (Ez az oka annak, hogy általában nem látja a () a funkciónév végén, amikor azt egy eseményhez rendelik a. hozzáadása óta zárójelben futtatja a függvényt, és a visszaadott értéket hozzárendeli a funkció hozzárendelése helyett maga.)
Az eseménykezelőkhöz és a hallgatókhoz csatolt funkciók akkor futnak, amikor az esemény, amelyhez kapcsolódtak, aktiválódik. A legtöbb eseményt az Ön oldalával interakcióval járó látogatók váltják ki. Vannak bizonyos kivételek, például a Betöltés esemény az ablakon, amely akkor indul el, amikor az oldal befejezi a betöltést.
Az eseményekhez csatolt funkciók az oldal elemein
Az eseményekhez kapcsolódó, az oldalon belüli elemek bármely funkciója az egyes látogatók tevékenységeinek megfelelően fog futni - ez a kód csak akkor fut, ha egy adott esemény bekövetkezik. Ezért nem számít, ha a kód soha nem fut egy adott látogató számára, mivel ez a látogató nyilvánvalóan nem hajtotta végre a megkövetelt interakciót.
Mindez természetesen feltételezi, hogy a látogató az Ön oldalára egy olyan böngészővel jutott el, amely rendelkezik JavaScript engedélyezve.
Testreszabott látogató felhasználói szkriptek
Egyes felhasználók speciális szkripteket telepítettek, amelyek kölcsönhatásba léphetnek az Ön weboldalával. Ezek a szkriptek az összes közvetlen kód után futnak, de előtt a rakomány eseménykezelőjéhez csatolt bármilyen kód.
Mivel oldala nem tud semmit ezekről a felhasználói szkriptekről, nem tudhatja, hogy mit tehetnek ezek a külső szkriptek - felülbírálhatják a kódot, vagy akár az egészet, amelyet a különféle eseményekhez csatoltak, amelyeket hozzárendeltél feldolgozás. Ha ez a kód felülbírálja az eseménykezelőket vagy a hallgatókat, akkor az eseményindítókra adott válasz a felhasználó által megadott kódot futtatja a kódja helyett, vagy annak kiegészítéseként.
Az otthoni pont itt az, hogy nem feltételezheti, hogy az oldal betöltése után futtatni kívánt kód futtatható úgy, ahogyan azt tervezte. Ezenkívül vegye figyelembe, hogy néhány böngésző olyan opciókkal rendelkezik, amelyek lehetővé teszik egyes eseménykezelők letiltását a böngészőben, amely esetben egy adott eseményindító nem indítja el a megfelelő eseménykezelőt / figyelőt az Ön webhelyén kód.