[[oktatas:web:javascript|< JavaScript]] ====== JavaScript másként ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2013 * Licenc: GNU Free Documentation License 1.3 * Web: https://szit.hu ===== Első program ===== Készítsük el a következő állományt: JavaScript Ez után nyissuk meg egy böngészőben. A Chrome böngészőben nyissuk meg a JavaScript konzolablakot: Ctrl+Shift+I, majd a Console ikon. Firefox alatt Ctrl+Shift+K. ===== Megjegyzések ===== Megjegyzéseket a következő módon írhatunk: //egy soros megjegyzés /* több soros megjegyzés */ console.log("Csak megjegyzés"); ===== Változóhasználat ===== var nev = "Nagy József"; console.log(nev); ===== Metódus írása ===== ==== Egy metódus megírása ==== JavaScript A metódus meghívható annak deklarációja előtt és utána is: nevjegy(); function nevjegy() { console.log("Üdvözöllek a JavaScriptben"); console.log("Nagy József"); } function nevjegy() { console.log("Üdvözöllek a JavaScriptben"); console.log("Nagy József"); } nevjegy(); ==== Paraméter ==== udv("Jóska"); function udv(nev) { console.log("Üdvözöllek " + nev + " a JavaScriptben"); } ==== Több paraméter ==== osszead(3, 5); function osszead(a, b) { console.log(a + b); } ==== Visszaadott érték ==== console.log("Összeg: " + osszead(3, 5)); function osszead(a, b) { return a + b; } ==== Függvény változóként ==== var nevjegy = function() { console.log("Nagy József"); console.log("Föld"); }; nevjegy(); Változóként létrehozva ugyanúgy használjuk a metódust, de csak a metódus deklarációja után hívhatjuk meg. ===== Változók hatásköre ===== Függvényen belül létrehozott változók csak a függvények belül láthatók. function ez() { var nev = "Józsi"; } console.log(nev); A globális változók viszont látszanak egy függvényen belül. var nev = "Jóska"; function kiir() { console.log(nev); } kiir(); ===== Típusok ===== A JavaScriptben a változók létrehozásakor nem kell megadni annak típusát. A bennük tárolt adat alapján viszont lekérdezhető azok típusa. var nev = "Józsi"; console.log(typeof(nev)); A fenti program kimenet például: string Ha a szöveg helyett számot adok meg: var nev = "Józsi"; console.log(typeof(nev)); A kimenet: number ===== Operátorok ===== var a = 3; var b = 5; var e = a>b; console.log(e); var a = -3; var b = 5; var e = a>0 || b>0; console.log(e); var a = 3; var b = 5; var e = a>0 && b>0; console.log(e); console.log( 'a' + 2 ); // 'a2' console.log( '5' + 3 ); // '53' console.log( 'hat' - '3' ); // NaN (not a number) console.log( - '1' ); // -1 console.log( 1 + true ); // 2 console.log( 1 == true ); // true console.log( 1 === true ); // false ===== Szelekció ===== if(1) console.log("Igaz"); var a = 3; if (a > 0) { console.log("Pozitív szám"); } else { console.log("Nulla vagy negatív"); } ===== Iteráció ===== A "Többször" szó ötször: for(i=0; i<5; i++) console.log("Többször"); Számok 1-től 5-ig: for(i=1; i<6; i++) console.log(i); ===== Tömb ===== var tomb = [3, 5, 2, 8, 4, 1]; console.log(tomb[0]); var tomb = new Array(3, 5, 2, 8, 4, 1); console.log(tomb[0]); A tömb mérete: var tomb = new Array(3, 5, 2, 8, 4, 1); console.log(tomb.length); Tömb elemeit végigvesszük: var tomb = new Array(3, 5, 2, 8, 4, 1); for (i=0; i ===== Karaktersorozatok kezelése ===== Üresség vizsgálata: var nev = ""; if(!nev){ console.log("Üres"); } else { console.log("Van"); } ===== Objektum ===== ==== Objektum létrehozása ==== var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000 }; console.log(Dolgozo.nev); console.log(Dolgozo.kor); ==== Hozzáférés ==== Hozzáférés az adattagokhoz másként: var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000 }; console.log(Dolgozo['nev']); console.log(Dolgozo['kor']); ==== Módosítás ==== Az adattagok módosítása: var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000 }; console.log(Dolgozo.fiz); Dolgozo.fiz = 879500; console.log(Dolgozo.fiz); ==== Metódus ==== Metódusokat is létrehozhatunk, amellyel az adattagokat elérhetjük lekérdezés vagy módosítás céljából. var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000, kiNev : function(){ console.log(this.nev); } }; Dolgozo.kiNev(); A this kulcsszó azt jelenti az adott objektum. A metódusokból csak így tudjuk elérni az adattagokat. Úgy fordíthatnánk, hogy ezen objektum nev adattagja. Próbáljuk ki a metódust a this kulcsszó nélkül is. var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000, fizetesEmel : function(emeles){ this.fiz = this.fiz + emeles; } }; Dolgozo.fizetesEmel(100000); console.log(Dolgozo.fiz); var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000, kiNev : function(){ console.log(this.nev); } }; var iro = Dolgozo.kiNev; iro.call(Dolgozo); var Dolgozo = { nev : "Nagy József", kor : 32, fiz : 650000, kiNev : function(){ console.log(this.nev); }, fizetesEmel : function(emeles) { this.fiz = this.fiz + emeles; } }; var emelo = Dolgozo.fizetesEmel; emelo.call(Dolgozo, 100000); console.log(Dolgozo.fiz);