A diszkrét JavaScript ( nem feltűnő JavaScript ) a JavaScript programozásának gyakorlata . Ezt a gyakorlatot nem írja le egy szabvány. Ez a gyakorlat a HTML kód és a JavaScript elválasztását jelenti.
A JavaScript hírneve korlátozott és rosszul megtervezett szkriptnyelv, amely nem alkalmas hatalmas fejlesztésre. Ez a hírnév a rossz gyakorlatok hosszú felhalmozódásának köszönhető, de annak is, hogy az egyes böngészők eltérő megvalósítást hajtanak végre.
A böngészőkre, a JavaScript keretrendszerekre ( jQuery , Prototype , Archetype ...) és az első jó minőségű hibakeresőkre alkalmazott szabványok közelmúltban történő megjelenése lehetővé teszi a szervezett és méretezhető JavaScript előállítását.
A diszkrét JavaScript a webes szabványok mozgásának részeként tekinthető meg.
Gyakran megfigyelhető egy kód, amely az alábbiak szerint jelenik meg:
<input type="text" name="date" onchange="validateDate(this);" />A JavaScript-hívás benne van a HTML-ben. Ez megnehezíti a kód olvasását és karbantartását (ami rossz JavaScript hírnevet ad az instabil és nehezen karbantartható kódnak), de ami még fontosabb, összekeveri a dokumentumok adatainak megfelelő rétegét és a kód viselkedésére vonatkozó réteget. dokumentum. 'felület.
Ugyanakkor ugyanezt a következőképpen lehet megtenni: egyrészt tiszta HTML-t készítünk, másrészt egy eseményt egy JavaScript fájlból csatolunk. Ami HTML-ben adja meg:
<input type="text" name="date" id="datefield" />És a JavaScript fájlban:
document.getElementById( "datefield" ).addEventListener( 'change', function(){ do_something(); }, false );Ezt a módszert diszkrétnek nevezzük, mert a JavaScript művelettel való társítást már nem tartalmazza a HTML, hanem egy esemény hozzárendelésével hajtják végre a DOM elemén . Ezután a JavaScript-kód a HTML-elem id attribútumának kiválasztásával csatlakozik a DOM-hoz.
A diszkrét JavaScript koncepciójának lényege a rétegek elválasztásában rejlik. Ezért bizonyos elveket alkalmaz: