6.02. A Javascript alapjai - változók

Default book

Aki tanult más C típusú nyelvet, annak könnyű lesz ez a rész, mert a javascript nagyjából követi a C (C#, PHP) nyelv szintaktikáját.

  • Az utasításokat külön sorba írjuk.
  • Az utasítás végén pontosvesszőt írunk.
  • A program végrehajtása felülről lefelé történik.
  • Itt is léteznek visszatérési értékkel vagy a nélküli függvények:
Function Eljaras(){
   alert("nincs visszatérési érték");
}

Lehetséges igazi függvényeket is használni:

Function fuggveny(){
  var i= 6;
  return i+5;
}

Adattípusok, típusosság

A javascript nyelvvel feldolgozandó adatoknak is vannak típusai. Ezek a típusok:

  • number - Szám (mindegy, hogy egész vagy tizedes tört...)
  • string - Szöveg "macskakörmök közé zárva" vagy 'idézőjelek közé zárva'
  • boolean - Logikai változó. Az értéke False vagy True
  • object - Objektum. Erről még lesz szó.
  • special values - Speciális értékek. Ez lehet a
    • null - Nem deklaráltuk a változót
    • undefined - Nem definiált változó (nem adtunk neki értéket)
    • NaN - Nem numerikus érték

A Javascript gyengén típusos nyelv.

Ez azt jelenti, hogy minden változónak van típusa
Minden változó bármilyen típusú adat értéket fel tud venni.

a változók deklarálásánál nem kell feltétlenül megadni az adat típusát. Amikor egy változónak értéket adunk, akkor egyben típust is rendelünk hozzá.

var userId = 123;   // 123 egy szám
var name = "Zoli";  // "Zoli" egy string

Akár más típusú értéket is értékül adhatunk egy változónak, mint korábban volt.

var userId = 123;   // 123 iegy szám
userId = false;     // most a userId már logikai

A változó értékadás előtt undefined értéket (nem definiált) vesz fel.

var x;
var x = undefined;

Léteznek beépített függvények a típuskonverzióra, illetve a szövegek számmá vagy egyéb értékké való konverziójára.

  • eval() - megkísérel egy szöveget kiértékelni, mint kifejezést
  • parseInt() - egy stringet értelmezni próbál, mint egész értéket
  • parseFloat() - egy szöveget lebegőpontos értéknek konvertál, ha lehet

Megjegyzések a szövegben

A szövegben megjegyzéseket tehetünk. Egy soros megjegyzések esetén a sorban // jelet helyezünk el.

Több soros megjegyzések esetén a szöveget az alábbi jelek közé tesszük:

/*
   A több soros megjegyzést akkor használjuk, ha magyarázni 
   akarunk valamit a forráskódban.
*/
var a = "Zoli";

Kódblokk fogalma

var i=5;
{
  i=6;
}
var b;

A kapcsos zárójelek közé zárt több utasításból álló kód a kódblokk. Ilyen kódblokkokat találunk az if, for, while, function, stb... utasításoknál is.

Globális és lokális változók

Korábban deklaráltunk változókat. A globális változók egy program minden részében láthatók, míg a lokális változók csak a kód egy blokkjában. Ha egy function belsejében deklarálunk egy változót, akkor az lokális lesz, vagyis akkor jön létre a függvényen beleül, amikor a program futása során a megadott sorra ér és amikor kilép a függvényből (eljárásból), akkor megsemmisül a változó és az értéke is. Ha a függvényeken kívül deklarálunk egy változót, akkor a teljes programra nézve globális lesz. Sőt a böngészőben lévő bármelyik javascript kódban látható lesz!

Változók névadási szokásai

A változók névadásánál az alábbi kötelező lehetőségek vannak

  • Az angol abc, számok és aláhúzás "_" jel lehet a névben.
  • A változó neve mindig betűvel vagy "_" jellel kezdődik.
  • A kis és nagybetűs változónevek különböznek egymástól!!!!! Gyakori hibaforrás!!!

Általában a változók nevének adásakor az alábbi konvenciókat kövessük

  • Rövid változóneveket használjunk: i, j, k, id, user, stb..
  • A név utaljon az adat jelentésére:
    var username - felhasználó neve
    var userId - felhasználói azonosító
    var i,j,k - index változók ciklusokban
    var x,y,z - koordináták
  • Ha több szóból áll a változó neve, akkor a szavakat írjuk egybe és a szó első betűje legyen nagy:
  • var SzovegEgyseg;
    var FelhasznaloiCim;

Literálok

A literálok értékeket képviselnek a Javascriptben. Típusaik:

Szöveg literálok

Egy szöveg(string) literál vagy nem tartalmaz karaktert, vagy akárhány karaktert tartalmaz két ' vagy " jelek között.
Speciális karaktereket is tartalmazhat egy string:

Karakter Jelentés
\b backspace, visszatörlés
\f form feed, lapdobás
\n new line, új sor
\r carrige return, kocsi vissza, sor elejére
\t tab, tabulátor-pozíció

\\

\"
\'

backslash


backslash karakter,ill. más speciális karakterek írása

Egész számok

  • Decimális
    • Oktális (0-val kezdõdnek, a számjegyek 0-7-ig lehetnek)
    • Hexadecimális (0x-el vagy 0X-el kezdõdnek, a számok számjegyekbõl (0-9-ig), és betûkbõl állhatnak(a-f ill. A-F)).
  • Lebegõpontos számok
    • A következõ részekbõl állhatnak: decimális egészbõl, decimális pontból, törtrészbõl és kitevõbõl.

Pl.: 16.423, 16.423E-1

  • Logikai literálok
    • A Boolean típusnak két literálja van: true és false

Kostansok

const PI = 3.141592653589793

A konstansoknak lehet kódblokkon belüli definícióik.

var x=10;
{
  const x = 2;
}

Konstans objektumok

// You can create a const object:
const car = {type:"Ford", model:"Mondeo", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson"; 

A konstansokból, akár objektum, akár "rendes" változó lehet tömböket készíteni.