ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
JavaScript - Wikipédia

JavaScript

A Wikipédiából, a szabad enciklopédiából.

A JavaScript programozási nyelv egy objektumorientált szkript nyelv, amelyet weblapokon elterjedten használnak. Eredetileg Brendan Eich, a Netscape Communications mérnöke fejlesztette ki; neve először Mocha, majd LiveScript volt, később „JavaScript” nevet kapott, és szintaxisa közelebb került a Sun Microsystems Java programozási nyelvéhez. A JavaScriptet először 1997–99 között szabványosította az ECMAECMAScript” néven. A jelenleg is érvényes szabvány az ECMA-262 Edition 3 (1999. december), ami a JavaScript 1.5-nek felel meg. Ez a szabvány egyben ISO szabvány is.

Tartalomjegyzék

[szerkesztés] Használat és változatok

[szerkesztés] Szerkesztés, előállítás

A javascript kód vagy a html fájlban vagy külön (jellemzően .js kiterjesztésű) szövegfájlban van. Ezek a fájlok tetszőleges szövegszerkesztő (nem dokumentumszerkesztő) programmal szerkeszthetőek.

[szerkesztés] Futási környezete

[szerkesztés] Inkompatibilitások

[szerkesztés] Adattípusok

Három elsődleges elemi adattípus létezik:

  • String
  • Number
  • Boolean

Két összetett típus:

  • Object
  • Array

Speciális típusok:

  • Null
  • Undefinied

A String típusú adatokat idézőjel vagy macskaköröm pár közé írjuk. Mindkét megoldás lehetséges, így az éppen nem használt jeleket is tartalmazhatja a szöveg.

a = "I'm sorry.";
b = 'Macskaköröm: (")'

Az első példában az idézőjel, a másodikban a macskaköröm tagja a string adatnak. Numerikus adatok lehetnek egész (decimális, hexadecimális, octal), vagy lebegőpontos értékek. Léteznek speciális numerikus értékek is, mint az előzőekben említett NaN, not a number érték, amit akkor használ a nyelv, ha értelmezhetetlen a matematikai művelet eredménye, vagy ha nem definiálunk értéket. Lehet még pozitív, vagy negatív végtelen, vagy szintén pozitív/negatív 0 érték. A JScript különbséget tesz a két 0 között.

[szerkesztés] Változók

A JScript nyelvben minden változót deklarálni kell. Ezt a var kulcsszóval tudjuk megtenni. Lehet csoportos deklaráció is, amikor vesszővel elválasztva több változót megadunk, és akár értéket is rendelhetünk hozzájuk. Arra is van lehetőség, hogy a var kulcsszót elhagyjuk, viszont ilyenkor az értékadás kötelező.

var str;
var int1, int2, int3;
var i = 1;
j = null;

A fentiekben többféle deklarációra látunk példát. Fontos megjegyeznünk, hogy az első és második esetben a változó típusa undefinied lesz. A negyedik esetben pedig a j változó null értéket kap. A különbség a két fogalom között az, hogy a null úgy viselkedik, mint egy 0 szám érték, a definiálatlan típus pedig egy speciális érték: NaN (Not a Number). A két érték összehasonlítása egyenlőséget mutat minden esetben. A JScript nyelv egy case-sensitive nyelv, ami annyit tesz, hogy nem mindegy, hogy kis- vagy nagybetűt használunk. Figyeljünk erre oda, főként ha ezen tekintetben eltérő szabályú keretbe helyezzük a JScript kódrészletet, pl. asp-be.

neve típusa tartomány mérete (bit-ben)
boolean logikai true / false 1
byte szám -128 .. 127 8
short szám -32.768 .. 32.767 16
int (integer) szám - 2.147.483.648 .. 2.147.483.647 32
long szám -263 .. 263-1 64
double szám 2-1074 .. (2-2-52)·21023 64
float lebegőpontos 2-149 .. (2-2-23)·2127 32
Object objektum
char karakter 16
String szöveg

[szerkesztés] Operátorok

[szerkesztés] Operátorok típusai

[szerkesztés] Aritmetikai operátorok

Összeadás (+)

Az összeadás kétoperandusú művelet. Számokat ad össze,

z=3+4;   // z egyenlő 7-tel

és karakterfüzéreket láncol össze.

z="3"+"4";         //z egyenlő 34-gyel
udv="Hel"+"lo";>   // az udv megegyezik a "Hello"-val

Kivonás (-)

Ha kétoperandusú műveletként használjuk, akkor a kivonás (-) művelettel két számot vonhatunk ki egymásból.

x=4-3;   // x egyenlő 1-gyel
x=3-4;   // x egyenlő -1-gyel

Ha egyoperandusú műveletként használjuk, akkor ez az operátor a pozitív számot negatívvá konvertálja, illetve fordítva.

x=6;
y=-x;    // y egyenlő -6-tal
z=-y;    // z jelen esetben megegyezik 6-tal

Ha az operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a különbséget olyan módon, hogy szám típusú értékké alakítja azokat.


Szorzás (*)

A szorzás (*) kétoperandusú művelet, amelynek segítségével két számot szorozhatunk össze.

z=2*3;   // z egyenlő 6-tal

Ha az operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a szorzatot olyan módon, hogy szám típusú értékké alakítja azokat.

Osztás (/)

Az osztás (/) olyan kétoperandusú művelet, amely az első operandust elosztja a másodikkal.

z=6/3;   // z egyenlő 2-vel
z=3/2;   // z egyenlő 1.5-del

A nullával való osztás speciális értéket eredményez.

z=3/0;   // z POSITIVE_INFINITY-vel vagy NEGATIVE_INFINITY-vel egyenlő
z=0/0;   // z NAN-nal egyenlő

Ha ez operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a hányadost olyan módon, hogy szám típusú értékké alakítja azokat.


Maradékos osztás (%)

A maradékos osztást (%) szokás modulo-műveletnek is nevezni. A két operandus osztása során keletkezett maradékot adja vissza.

z=7%2;   // z egyenlő 1-gyel
z=6%2;   // z egyenlő 0-val

Ha az operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a maradékot olyan módon, hogy szám típusú értékké alakítja azokat.

Inkrementálás (++)

Az inkrementálás (++) egyoperandusú művelet, amelynek segítségével egy számot lehet inkrementálni, azaz hozzá adni egyet. A művelet lehet pre-inkrement és poszt-inkrement. A pre-inkrement azelőtt végrehajtódik, mielőtt az utasítás további műveletei végrehajtódnának.

x=5;
y=++x;   // mind az x, mind az y egyenlő 6-tal

A poszt-inkrement azután hajtódik végre, miután az utasítás összes többi művelete végrehajtódott.

x=5;
y=x++;   // az x 6-tal, az y 5-tel egyenlő

Ha az operátort nem szám típusú értékekkel használjuk, akkor az inkrementálást megpróbálja kiszámolni olyan módon, hogy szám típusú értékké alakítja az operandusokat.

Dekrementálás (--)

A dekrementálás (--) egyoperandusú művelet, amelynek segítségével egy számot lehet dekrementálni, azaz értékéből egyet kivonni. A művelet lehet pre-dekrement és post-dekrement.

A pre-dekrement azelőtt végrehajtódik, mielőtt az utasítás további műveletei végrehajtódnának.

x=5;
y=--x;   // mind az x, mind az y egyenlő 4-tal

A post-dekrement azután hajtódik végre, miután az utasítás összes többi művelete végrehajtódott.

x=5;
y=x--;   // az x 4-gyel, az y 5-tel egyenlő

Ha az operátort nem szám típusú értékekkel használjuk, akkor az dekrementálást megpróbálja kiszámolni olyan módon, hogy szám típusú értékké alakítja az operandusokat.

[szerkesztés] Logikai operátorok

  • logikai és: a&&b
  • logikai vagy: a||b
  • tagadás/negálás: !a
  • Kisebb mint: <
  • Nagyobb mint: >
  • Kisebb egyenlő: <=
  • Nagyobb egyenlő: >=
  • Egyenlő: ==
  • Nem egyenlő: !=
  • Feltételes hármas: ?:
  • Vessző: ,
  • Teljesen egyenlő: ===
  • Teljesen egyenlőtlen: !==

A különbség az egyenlő (==) és teljesen egyenlő (===) operátorok között az, hogy a fordító az egyenlőség esetén a kiértékelés előtt "kikényszeríti" a hasonlóságot, tehát pl.: egy numerikus és karakteres 1, ill. "1" érték összehasonlítása egyenlőséget eredményez, míg a teljes egyenlőség vizsgálatánál nem. Az érték növelő, csökkentő operátor a hozzá kapcsolódó értékhez hozzáad egyet, vagy kivon belőle egyet.

a = ++a;
b = a++;

Ha az operátor elöl áll, akkor először történik meg az érték növelése, ha viszont hátul áll az operátor, akkor előbb az értékadás (b = a) valósul meg, és utána mellesleg nő az "a" változó értéke 1-gyel. Hasonlóképpen az értékcsökkentő operátornál. A feltételes hármas (?:) operátor esetén a kérdőjel előtt egy logikai kifejezés szerepel. Ha a kiértékelés eredménye igaz, akkor a "?" és ":" közötti értéket adja vissza az operátor, ellenkező esetben a ":" utáni értéket. A bitszintű jobbra eltolás két változata között a különbség az, hogy amíg a ">>" esetén az előjelbit értékét használja az új értékhelyek feltöltésére a bal oldalon, addig a ">>>" operátor esetén mindig 0 értékekkel tölti fel az üres helyeket.

a = b >> 2;
b = a >>> 2;

A műveletek során a második kifejezésben megadhatjuk, hogy hány értékhellyel tolódjon el a bináris adatsor.

x = += y;
x = x + y;

[szerkesztés] Sztring operátorok

  • konkatenáció (összefűzés) c=a+b
  • részsztring-képzés: sztringobjektum.substring(kezdet,hossz)

[szerkesztés] Bitszintű műveletek

  • Bitszintű negálás: ~
  • Bitszintű balra eltolás: <<
  • Bitszintű jobbra eltolás: >>
  • Helyérték nélküli jobbra eltolás: >>>
  • Bitszintű és: &
  • Bitszintű kizáró vagy: ^
  • Bitszintű vagy: |

[szerkesztés] Értékadó operátorok

  • Értékadás: =
  • Összetett értékadás: OP=

[szerkesztés] Vegyes operátorok

  • törlés: delete
  • típus: typeof
  • értékadás kiküszöbölése: void
  • példánya-e: instanceof
  • új: new
  • benne:in

[szerkesztés] Típuskényszerítés

A JScript esetében könnyű az átmenet a változó típusok között. Ha kiértékel a feldolgozó egy kifejezést, akkor az alábbi szabályok szerint jár el: Tevékenység Eredmény szám és szöveg összeadása A szám a szövegbe épül logikai érték és szöveg összeadása A logikai érték a szövegbe épül szám és logikai érték összeadása A logikai érték a számba épül

[szerkesztés] Operandusok

[szerkesztés] Műveletek precedenciája

[szerkesztés] Operátorok asszociativitása

[szerkesztés] Utasítások és vezérlési szerkezetek

[szerkesztés] Utasítások

[szerkesztés] Vezérlési szerkezetek

[szerkesztés] Függvények és objektumok

[szerkesztés] Függvények

[szerkesztés] Objektumok

[szerkesztés] A JavaScript alapobjektumai és függvényei

megnevezés leírás
Array tömb objektum
Boolean logikai értékeket leíró és azok kezelését szolgáló beépített objektum
Date dátumkezelésre szolgáló beépített objektum
eval() egy kifejezés kiértékelő függvény
Math matematikai függvények használatát biztosító beépített objektum
MimeType MIME típusok kezelésre szolgáló beépített objektum
Number számok megvalósítását szolgáló beépített objektum
parseFloat() a numerikus értéket képviselő objektumból kinyeri a lebegőpontos számot
parseInt() a numerikus értéket képviselő objektumból kinyeri az egész számot
RegExp reguláris kifejezések kezelésre szolgáló beépített objektum
String sztringek megvalósítását és kezelését szolgáló beépített objektum

[szerkesztés] Javascript események

[szerkesztés] Az oldal egészére vonatkozó események

  • Load
    • Eseménykezelő neve: onLoad
    • Bekövetkezése: Amikor az oldal minden objektuma letöltődött.
  • Resize
    • Eseménykezelő neve: onResize
    • Bekövetkezése: Amikor a dokumentumot átméretezik.
  • Scroll
    • Eseménykezelő neve: onScroll
    • Bekövetkezése: Amikor a dokumentumot görgetik.
  • Unload
    • Eseménykezelő neve: onUnload
    • Bekövetkezése: amikor egy dokumentumot eltávolítanak egy ablakból vagy frame-ből.
    • Érvényes: BODY, FRAMESET elemekre.

[szerkesztés] Egéresemények

  • Click
    • Eseménykezelő neve: onClick
    • Bekövetkezése: amikor rákattint valaki az adott elemre az egérrel.
    • Az onClick esemény bekövetkezésének menete:
      • mousedown
      • mouseup
      • click (Többszörös kattintásnál az eseménysorozat mindig bekövetkezik, és a detail attribútum értéke minden kattintásnál megnövekszik egyel.)
    • Érvényes: A legtöbb elemre.
  • MouseDown
    • Eseménykezelő neve: onMouseDown
    • Bekövetkezése: amikor egy egérgombot megnyomnak az adott elem fölött.
    • Érvényes: a legtöbb elemre.
  • MouseUp
    • Eseménykezelő neve: onMouseUp
    • Bekövetkezése: amikor az egérgombot elengedik az adott elem felett.
    • Érvényes: a legtöbb elemre.
  • MouseOver
    • Eseménykezelő neve: onMouseOver
    • Bekövetkezése: amikor az egérmutató az adott elem fölé kerül.
    • Érvényes: a legtöbb elemre.
  • MouseMove
    • Eseménykezelő neve: onMouseMove
    • Bekövetkezése: amikor az egérmutató mozog az adott elem fölött.
    • Érvényes: a legtöbb elemre.
  • MouseOut
    • Eseménykezelő neve: onMouseout
    • Bekövetkezése: amikor az egérmutató az adott elemet elhagyja.
    • Érvényes: a legtöbb elemre.

[szerkesztés] Formokra vonatkozó események

  • Blur
    • Eseménykezelő neve: onBlur
    • Bekövetkezése: amikor az adott elem elveszti a "fókuszt".
    • Érvényes: LABEL, INPUT, SELECT, TEXTAREA, és BUTTON elemekre.
  • Change
    • Eseménykezelő neve: onChange
    • Bekövetkezése: amikor az adott elem elveszti a beviteli fókuszt, és változás következett be a tartalmában azóta, hogy rákerült a fókusz.
    • Érvényes: INPUT, SELECT, és TEXTAREA elemekre.
  • Focus
    • Eseménykezelő neve: onFocus
    • Bekövetkezése: amikor az adott elem aktívvá válik, vagy az egér, vagy a billentyűzet segítségével (TAB).
    • Érvényes: LABEL, INPUT, SELECT, TEXTAREA, és BUTTON elemekre.
  • Reset
    • Eseménykezelő neve: onReset
    • Bekövetkezése: amikor FORM reset következik be.
    • Érvényes: Csak FORM elemre.
  • Select
    • Eseménykezelő neve: onSelect
    • Bekövetkezése: amikor a felhasználó szöveget jelöl ki szöveges (text) mezőben.
    • Érvényes: INPUT, TEXTAREA elemekre.
  • Submit
    • Eseménykezelő neve: onSubmit
    • Bekövetkezése: amikor a FORM adatokat elküldenek. (submit).
    • Érvényes: Csak FORM elemre.

[szerkesztés] Objektumszintű események

  • Abort
    • Eseménykezelő neve: onAbort
    • Bekövetkezése: amikor egy képletöltést megszakítanak.
    • Érvényes: objektum elemekre.
  • Error
    • Eseménykezelő neve: onError
    • Bekövetkezése: Amikor egy kép nem töltődik le teljesen vagy hiba keletkezik a script futása közben.
    • Érvényes: OBJEKTUM, BODY, FRAMESET elemekre.

[szerkesztés] Külső hivatkozások

Főbb programozási nyelvek (továbbiak) +/-

Imperatív: FortranCC++C#JavaPascalDelphiAda

Script: JavaScriptVisual BasicPHPPythonPerl • sh

Funkcionális: HaskellLispScheme

Egyéb: ABAPAwkCOBOLPL/SQL • SAS • SQLEiffelLogoScratchSML • Smalltalk

Történelmi: ALGOLAPLBASIC • Clipper • MUMPS • PL/I • RPGSimula



aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -