[[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);