Diskret JavaScript

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 27 december 2018; kontroller kräver 4 redigeringar .

Diskret JavaScript är ett JavaScript  - sätt för webbprogrammering . Termen introducerades 2002 av Stuart Langridge [1] . Principerna för diskret Javascript förstås vanligtvis som följande:

Förutsättningar för utseendet

På grund av inkompatibla implementeringar av språket och dokumentobjektmodellen i olika webbläsare har JavaScript haft ett rykte som ett språk olämpligt för seriös applikation och utveckling. Tillkomsten av standardbaserade webbläsare , tillkomsten av AJAX -gränssnitt och Web 2.0 förändrade situationen, vilket gjorde JavaScript till ett viktigt verktyg. Om tidigare JavaScript användes för relativt enkla och oviktiga uppgifter, såsom indatavalidering på webbläsaren och dekorativa element, började det i framtiden användas för att skapa webbplatsens huvudfunktionalitet.

Mål

Prestandan för en webbplats för största möjliga publik av användare, inklusive tillgänglighet för användare med funktionshinder , är huvudmålet med ett icke-påträngande tillvägagångssätt. Uppnåendet av målet baseras på separationen av presentation och beteende, där beteendet programmeras med hjälp av externa JavaScript-skript och kopplas till semantisk uppmärkning [4] .

Genom att tillämpa ett icke-påträngande tillvägagångssätt är det lättare att uppnå följande resultat [4] :

Rekommendationer

Cris Heilmann , en av förespråkarna för det diskreta tillvägagångssättet, skrev sju regler för det 2007 [4] :

  1. Gör inga antaganden
  2. Leta efter krokar och relationer
  3. Lämna övergången till experterna
  4. Förstå webbläsare och användare
  5. Var medveten om händelser
  6. Spela bra med andra
  7. Ta hand om nästa utvecklare

Separerar beteende från uppmärkning

Traditionellt placerades JavaScript-funktionsanrop direkt i dokumentets uppmärkning . Exemplet nedan illustrerar en typisk implementering av formulärfältsvalidering:

<input type= "text" name= "date" onchange= "validateDate(this);" />

I ett välstrukturerat tillvägagångssätt för utveckling är uppmärkning avsedd att beskriva strukturen i ett dokument, inte dess beteende. Att blanda struktur och beteende leder bland annat till dålig underhållsbarhet på webbplatsen. Detta händer av samma anledning som när man blandar struktur och presentation: om webbplatsen innehåller hundratals onchangedatafält kan det vara en tidskrävande procedur att lägga till lämpliga attribut till varje (och ändra dem senare om det behövs).

Den diskreta lösningen är att programmatiskt installera händelsehanterare. Detta uppnås vanligtvis genom att logiskt separera element som kräver en eller annan hanterare i en klass med efterföljande bearbetning:

<input type= "text" class= "validatedDate" />

Skriptet kan titta på alla indataelement relaterade till klassen validatedDateoch ställa in önskad hanterare för dem:

fönster . onload = function () { var inputs , i ; ingångar = dokument . getElementsByTagName ( 'input' ); for ( i = 0 ; i < ingångar . längd ; i ++ ) { if ( matar in [ i ]. klassnamn == 'validatedDate' ) { inputs [ i ]. onchange = function () { validateDate (); }; } } }; function validateDate (){ // handler logic }

Följande skript är specifikt för jQuery JavaScript-biblioteket :

$ ( dokument ). ready ( funktion (){ $ ( 'input.validatedDate' ). bind ( 'change' , validateDate ); }); function validateDate (){ // handler logic }

Eftersom attributet classåterspeglar elementets semantiska roll stämmer detta tillvägagångssätt väl överens med W3C: s rekommendationer baserade på nuvarande standarder.

Anteckningar

  1. Langridge, Stewart Diskret DHTML och kraften i punktlistor (november 2002). Hämtad 4 juni 2009. Arkiverad från originalet 1 april 2012.  (Engelsk)
  2. Keith, Jeremy Department of Behavior (20 juni 2006). Hämtad 4 juni 2009. Arkiverad från originalet 1 april 2012.  (Engelsk)
  3. Olson, Tommy Artig nedbrytning och inkrementell förbättring (6 februari 2007). Hämtad 4 juni 2009. Arkiverad från originalet 1 april 2012.  (Engelsk)
  4. 1 2 3 Johansen, 2010 , Kapitel 9. Diskret JavaScript.

Litteratur

  • Johansen, C. Testdriven JavaScript-utveckling. - Pearson Education, 2010. - 480 sid. — ISBN 9780321684059 .

Länkar