ugrás a tartalomhoz

JavaScript programozás jegyzet

mg · 2013. Május. 15. (Sze), 00.15
Középiskolás prog. szakkörre készült. Hátha ti is hasznát veszitek egyszer oktatáshoz.
 
1

Egész jó

Pepita · 2013. Május. 15. (Sze), 13.39
Nekem első ránézésre tetszik, mert:

- magyar;
- érthető (a példákkal együtt).

Lehet, hogy sok (negatív) dolgot fel lehetne sorolni, de szerintem indulásnak jó. Egyetlen észrevétel: több helyen előfordulnak "HTML elementek", én ezeket egyszerűen HTML elemeknek hívnám.
2

Elementek vagy elemek?

mg · 2013. Május. 15. (Sze), 14.32
Köszi! Kíváncsi lennék ezzel kapcsolatban mások véleményére is: magyarul elemeknek szokás mondani? Mostanában szinte csak angol nyelvű cikkeket olvasok ilyen témában, ezért nem vagyok képben.

Egy másik apróság, amit már tervezek kijavítani: az objektumoknál azt írom, hogy attribútumoknak is lehet nevezni az objektum tulajdonságokat, de ez helyesen inkább property, magyarul meg marad mindenhol "tulajdonság"-nak.
3

DOM elem, szerintem ez

MadBence · 2013. Május. 15. (Sze), 16.28
DOM elem, szerintem ez teljesen korrekt. A property/attribute meg teljesen önkényes, Java-ban pl szinonímák, C#-ban van külön field, property és attribútum is, és teljesen mást jelentenek. JS-ben is vannak a C#-os propertyhez hasonló fícsörök:
var foo = {
  get bar() { return 'baz'; },
  set bar(val) { console.log(val); }
};
console.log(foo.bar);
foo.bar = 'qux';
Illetve van a kicsit összetettebb funkcionalitást nyújtó Object.defineProperty. Ebben az értelemben a hagyományos JS "property" ({ foo: 'bar' }) inkább a C# field fogalmának felel meg. Ennek ellenére angol szövegben mindenhol a property a használatos (szerintem ez teljesen jól van így).
4

Attribute

mg · 2013. Május. 15. (Sze), 16.46
Az attribútummal az a problémám, hogy a JS esetén hivatalosan másra használják ezt a szót: a property-knek vannak attribútumai! :)

Lásd pl. ezt a szócikket az MDN-en. Itt következetesen attribute-nak nevezi a writable, readable, stb. mezőket a property-k definiálásánál. Igazából az ECMAScript szabványban kéne megnézni, lehet h meg is fogom.
5

An ECMAScript object is a

MadBence · 2013. Május. 15. (Sze), 16.56
An ECMAScript object is a collection of properties each with zero or more attributes that determine how each property can be used

Ettől függetlenül pl a Backbone használja a model attribútum fogalmát, ami nyilván kódban propertyt jelent. Többnyire a kontextusból kiderül mire gondolunk, így fölösleges ezen rugózni.
6

DOM - HTML

Pepita · 2013. Május. 17. (P), 19.25
Ha már (eddig) HTML element szerepelt, ehelyett én HTML elemet használnék, nem DOM elemet. Bár ez teljesen szubjektív vélemény, végülis a DOM (modell) HTML elemekből épül fel, tehát a DOM elemei mind HTML elemek. (Ha valamit itt összekevertem volna, kérek korrepetálást! :)) Ellenérv: míg forrásban HTML-t látunk, "a böngészőben megjelenő valami" a DOM, amit esetleg pont JS-el manipuláltunk...
Szóval maradok az eredeti javaslatnál: az element helyett elem. :)

Szerintem (főleg tanulók számára!) célszerű az objektumoknak "adni" a tulajdonságokat, és meghagyni a HTML elemek számára az attribútumokat. Így nem keverednek össze, stb...
7

DOM - HTML

mg · 2013. Május. 19. (V), 09.43
Némi olvasgatás után arra jutottam, hogy hivatalosan a HTML element az a DOM elementek egy fajtája. Pl. a globális document objektum, illetve a szöveg node-ok nem HTML elementek. De nem hiszem h létezik ember, aki ezt megkülönbözteti :)

Tényleg nem jó, hogy a HTML elemeknek is attribútumai vannak, meg az objektumoknál is attribútumnak hívjuk őket, szóval az objektumoknál az elsődleges elnevezés "tulajdonság" lesz.
8

Kicsit sántít

Pepita · 2013. Május. 19. (V), 13.26
Ne haragudj, de ezzel (így) nem értek teljesen egyet. A példa amiatt jó, mert nincs HTML document, ~textnode, de:

- A Mozilla-t én nem tekintem "hivatalosnak" (maradnék a w3c-nél);
- A DOM kb értelmetlen lenne HTML element nélkül (fehér semmi). Más kérdés, hogy mivel a DOM része minden HTML elem, így "természetes", hogy van hozzájuk a DOM-ból interface.

Szóval ez is egy megközelítés igen, de attól függ (a te anyagodban is) a kifejezés használandósága, hogy az adott témában mié a fő szerep: DOM avagy HTML. (Szerk.: egyszerű: ha DOM-fv-t használsz, akkor DOM, ha innerHTML és társai... akkor is?! Kezdek becsavarodni...)
Tényleg nem jó, hogy a HTML elemeknek is attribútumai vannak
Nem baj az, az objektumoknak ne legyenek attribútumaik. Szerintem magyarul szinonimák a tulajdonsággal, de attribútumnak inkább csak (kvázi statikus) paramétert szoktunk hívni, míg a tulajdonság sokrétűbb és gyakran változó is lehet (és programozásban simán lehet függvény (eredménye) is).
Így jobban átgondolva is én helyeslem, hogy "az elsődleges elnevezés "tulajdonság" lesz".
9

A DOM nem kötődik a HTML-hez,

bamegakapa · 2013. Május. 26. (V), 21.14
A DOM nem kötődik a HTML-hez, így semmiképp nem értelmetlen HTML element nélkül. A DOM alapvetően egy platform- és nyelvfüggetlen mód dokumentumok szerkezetének és tartalmának eléréséhez és szerkesztéséhez. Léteznek benne speciális interfészek, amik kifejezetten XML dokumentumokhoz lettek kitalálva. Ha már a W3C specifikációkhoz ragaszkodunk.

Ha kifejezetten a HTML-es, böngészőkben található interfész képezi a vizsgálat tárgyát, szerintem a Mozilla Development Network közösség által szerkesztett dokumentumai elég "hivatalos"-nak mondhatóak, bármit értsünk ezen. Ráadásul az adott oldalon be is van linkelve a WhatWG specifikáció.
10

kb !== pontosan

Pepita · 2013. Május. 26. (V), 21.58
Azt mondtam kb, pont azért, amiket írsz. Ám egy kicsit elrugaszkodtál a témaindítótól: végülis itt egy js-leíráson belüli megfogalmazásról beszélünk. Akkor pedig ha nincs HTML element, ...
Általánosságban persze igazad van.

Az pedig, hogy mennyire "hivatalos" egy dokumentáció - nem szavazati kérdés. Addig, amíg a Mozzilla böngésző(js)motorjairól beszélünk, addig maradéktalanul, 100%-ban ez a hivatalos doksi. Ha viszont általános elméleti kérdésről, akkor már nem.
11

Legyen így, de árnyalja a

bamegakapa · 2013. Május. 27. (H), 09.10
Legyen így, de árnyalja a képet, hogy szabványkövető böngészőről beszélünk, és minden referenciaoldalon hivatkozva van(nak) az odavágó szabvány(ok).
12

Fogalom

Pepita · 2013. Május. 27. (H), 17.14
Megegyeztünk, viszont azt a fogalmat elmagyarázhatnád nekem - ha nem túl off -, hogy mit jelent a szabványkövető böngésző, illetve melyik böngésző az, amelyik ennek megfelel. T.i. én ilyet nem ismerek.
13

Hehe, ez jó ;)

bamegakapa · 2013. Május. 27. (H), 22.27
Hehe, ez jó ;)
14

A DOM tree-ben DOM node-ok

tgr · 2013. Május. 28. (K), 18.11
A DOM tree-ben DOM node-ok vannak, ezek lehetnek document node-ok, text node-ok, comment node-ok stb, vagy elementek, ami a gyakorlatban HTML elemet jelent (bár egy XHTML dokumentumban szerepelhetnek másfajta elemek is, pl. ha MathML-t ágyazol be). A text node nem element. (vö. Node.nodeType)
15

Javscript jegyzet.

gyuby92 · 2013. Május. 31. (P), 13.38
Ragyogó, tömör, lényegrelátó cikk.