JavaScript – változók létrehozása
A JS – változók létrehozása (=creation) ún. meghatározással (=declaration) történik, amit a var kulcsszóval végzünk,pl.: var x; var carname;
Az így létrehozott két válzotó üres (=empty), azaz értékkel nem rendelkezik.
A változókhoz, mint fentebb láttuk, a változónév=szám; ill. a változónév=”szöveg”; rendelkezésekkel redndelhetünk szám- vagy szöveges értéket.
Ezt (azaz az értékek megadását) a definiálással össze is vonhatjuk, pl.:
var x=5; var carname="Volvo";
E rendelkezések végrehajtásával az x változó értéke 5, a carname-é pedig Volvo lesz.
Amint láttuk, a szöveges változó-értékeket idézőjelbe kell tenni.
Természesen a számokat is tehetjük idézőjelbe, de akkor azt a böngésző szövegnek fogja tekinteni és akként kezeli.
Pl. a böngésző a document.write(<br />); parancsot nem hajtja végre, mert a <br /> taget nem tudja számként értelmezni.
Hogyha ehelyett a document.write(”<br />”); rendelkezéssel élünk, akkor sortörést kapunk. Ugyanígy, a document.write(”x”); rendelkezéssel a böngésző nem az x függvény értékét (5) írja ki, hanem az x betűt.
Ugyanakkor az document.write(x); rendelkezést már nem betűként, hanem számként kezeli, és az x változónak (azaz számnak) megfelelő, 5-ös értéket írja ki.
JavaScript – változók létrehozása az értékek megadásával Ahogy fentebb láttuk, a JS-változó – értékek megadásakor mindig le kell írnunk a változó nevét is. Ezért úgy vehetjük, hogy az érték-megadással egyúttal az érték-nevet is definiáljuk.
Azaz a JS-ben a meg nem határozott változók értékének megadásával automatikusan definiáljuk a változókat is.
Ennek értelmelmében a
x=5; carname="Volvo";
parancssor jelentése megegyezik az előbb ismertetett, közös meghatározási módszer eredményével:
var x=5; var carname="Volvo";
illetve annak hosszabb megfelelőjével:
var x; x=5; var carname; carname=”Volvo”;
A JavasScript – változók újra-meghatározása Hogyha – pl. mint az alábbi parancssorban látható – egy JS-változót újra-definiálunk, annak értéke továbbra is megmarad, pl.: a következő parancssor értelmében
<html> <body> <script type=”text/javascript”>
var x=5; document.write(x); document.write(”<br />”);
var x; document.write(x); </script>
</body> </html>
A böngésző egymás alá két 5-öst ír ki, jelezve, hogy az x változó újradefiniálása az értékét önmagában nem változtatta meg ill. nem törölte.
Következő példánkban azonban kétszer is megváltoztatjuk az x értékét, s eközben mindhárom definiálási eljárást alkalmazzuk:
<html> <body>
<script type=”text/javascript”>
var color; color=”red”; document.write(color); document.write(”<br />”);
var color=”green”; document.write(color); document.write(”<br />”); color=”blue”; document.write(color); </script>
</body> </html>
Ebben az esetben a red, green és blue szavakat látjuk egymás alatt.
Szerver-oldai scriptek és Ajax-interakció jellemzői.
Ajax = Asynchronous JavaScript and XML; webalkalmazás-fejlesztési módszer.A frame-eket a szikron webes lekérdezések korában alkalmazták a letöltendő tartalom csökkentésére.
Az aszinkron hívásokkal a felhasználói- és szerver-oldal közti folyamatos kommunikáció révén csak az oldal változásai kerülnek letöltésre.
Az Ajax segítségével a kliens JS-lekérdezéseket intézhet a szerverhez, az oldal újratöltése nélkül. A kapott tartalom XML, amit az Ajax HTML-lé alakít.
Így egy formot anélkül ellenőrizhetünk/továbbíthatunk a kliensoldalon és ellenőrizhetünk/regisztrálhatunk a szerveroldalon, és jeleníthetjük meg a válasz-üzenetet, hogy az oldalt frissíteni kellett volna.
XML HTTP Request = XHR; http lekérdezés helyett az Ajax ilyennel fordul a szerverhez. A Safari/Fireox/Opera alkalmazza; az IE az ActiveX-et használja.
Az IE tehát csak akkor tud Ajax hívásokat indítani, ha mind a JS, mind az ActiveX engedélyezve van rajta. (Egyébként hibát jelez.)
XHR- ill. ActiveX-lekérdezés (objektum) létrehozása try…catch rendelkezéssel. Ha a böngésző egyiket sem támogatja, akkor a triggerelő link eredeti href-jét követi a böngésző:
var request;
try {
request = new XMLHttpRequest(); }
catch( error ) {
try {
request = new ActiveXObject( "Microsoft.XMLHTTP" ); }
catch( error ) { return true; }
}
}
Megjegyzések
Megjegyzés küldése