Das JavaScript Handbuch - GBV

3y ago
12 Views
3 Downloads
7.36 MB
16 Pages
Last View : 11d ago
Last Download : 3m ago
Upload by : Jerry Bolanos
Transcription

Ralph SteyerDas JavaScriptHandbuch.": Einführung, Praxis und Referenz У ADDISON-WESLEYAn imprint of Pearson EducationMünchen Boston San Francisco Harlow, EnglandDon Mills, Ontario Sydney Mexico CityMadrid Amsterdam

InhaltVorwort23Über den AutorTeil I12Elementare Grundlagen2429Einleitung311.1Über das Buch1.1.1An wen sich das Buch wendet und was Sie schon wissen sollten1.1.2Wie dieses Buch organisiert ist1.1.3Was Sie in dem Buch lernen1.1.4Schreibkonventionen1.1.5Die Quellcodes3232333435351.21.3Was ist JavaScript?1.2.1Die Geschichte von JavaScript1.2.2Die Versionszyklen von JavaScript1.2.3Was funktioniert wo?Der Aufbau von Skriptsprachen und die Rolle des Interpreters36373840421.4Zusammenfassung43Die Voraussetzungen schaffen452.1Hardware und Betriebssystem2.1.1Verschiedene Betriebssysteme als Testumgebungen45462.2Die Browser2.2.1Benchmark your Webbrowser48512.3Der Webserver532.4Die Entwicklungs-Tools2.4.1Integrierte Entwicklungsumgebungen2.4.2Pimp my Firefox - Browser auf Basis von Mozilla aufrüsten . . . .2.4.3Pimp my Internet Explorer?Sonstige ware56585964666667Zusammenfassung692.52.6

Auf die Platze, fertig, los713.1Projekte - nichts als Projekte723.2Erste praktische Beispiele3.2.1Identifizierung eines Browsers3.2.2Die Bildschirmauflösung eines Besuchers ermitteln3.2.3Anzeige des aktuellen Datums und der aktuellen Zeit3.2.4Ein neues Browserfenster öffnen3.2.5Eine Grafik in einer Webseite dynamisch austauschen7475787981823.3JavaScript in Webseiten einbinden3.3.1Die Inline-Referenz3.3.2Die direkte Notation eines Skriptcontainers in der Webseite . . . .3.3.3Der noscript -Container3.3.4JavaScripts über externe Dateien referenzieren85868795953.4Kann ich testen, ob bei einem Browser JavaScript aktiviert ren1014.1Kommentare in JavaScript4.1.1Mehrzeilige Kommentare4.1.2Einzeilige Kommentare1021021034.2Token und örter in JavaScript1044.4Datentypen, Variablen und Literale4.4.1Variablen4.4.2Literale4.4.3Datentypen und Typisierung4.4.4Variablen anlegen4.4.5Ein vollständiges Beispiel zu den Details mit Variablen1071071071081121154.5Funktionen, Prozeduren und Methoden4.5.1Form 3 eines Unterprogramms - Methoden4.5.2Verwendung von vordefinierten Funktionen4.5.3Die Definition eigener Funktionen4.5.4Der Aufruf eigener Funktionen4.5.5Ein Beispiel für selbst definierte Funktionen4.5.6Verwendung von externen JavaScript-Dateien alsFunktionsbibliotheken4.5.7Lokale Variablen in Funktionen117118119122124125126129

Inhalt4.5.8Д.5.94.5.104.5.114.5.124.5.135Flexible Anzahl an Funktionsargumenten und der TokenargumentsRekursive FunktionsaufrufeFunktionsreferenzenBenannte versus anonyme FunktionInnere olesche Operatoren4.6.5Logische Operatoren4.6.6Zuweisungsoperatoren4.6.7Bitweise Operatoren4.6.8Die teuerzeichen bei Zeichenketten1704.8Kontrollstrukturen in JavaScript4.8.1Die if-Bedingung4.8.2Die switch-Fallunterscheidung4.8.3Die while-Schleife4.8.4Die do-while-Schleife4.8.5Die for-Schleife und die for-in-Schleife4.8.6Gezielte Abbruche von Schleifen mit break und continue1711711731761801821844.9Ein erster Blick auf Objekte und das DOM-Konzept4.9.1Was sind Objekte?4.9.2Wie entstehen r1915.1Was versteht man unter einem Ereignis?5.1.1Eventhandler in HTML bzw. XHTML5.1.2Eventhandler in JavaScript5.1.3HTML-bzw. XHTML-versus JavaScript-Eventhandler1921931951965.2Verschiedene Ereignisse5.2.1Laden und Verlassen der Webseite5.2.2Aufruf beim Klick auf ein sensitives Element5.2.3Aufruf beim Überstreichen mit dem Mauszeiger5.2.4Reaktion auf Mausbewegungen5.2.5Die Tastaturereignisse1971972012072092099

Inhalt5.3Teil II67105.2.6Selektieren von Text2125.2.7Unterbrechung eines Reaktion auf Zurücksetzen oder Absenden eines Formulars. . . . 217Zusammenfassung220Objekte221Objekte und Klassen in JavaScript - Grundlagen2236.1Was sind Objekte?6.1.1Die grundsätzliche Definition der objektorientiertenProgrammierung2246.2Klassen, Instanzen und Vererbung6.2.1Vererbung2252256.3JavaScript-Objekte erzeugen6.3.1Test auf die Existenz eines Objekts2262306.4Object - ganz oben im Baum6.4.1Eigenschaften von Object6.4.2Methoden von Object2312312326.5Klassenmethoden und Klasseneigenschaften verwenden2366.6Zusammenfassung238224Native Objekte und Klassenelemente in JavaScript2397.1Datenfelder7.1.1Wozu benötigt man Datenfelder?7.1.2Datenfelder erzeugen7.1.3Zugriff auf Elemente im Datenfeld7.1.4Die Array-Notation7.1.5Methoden und Eigenschaften von Datenfeldern2402402412422452497.2Objekte vom Typ Boolean2557.3Datumsoperationen mit Date7.3.1Die Methoden von Date7.3.2Erzeugen eines Datumsobjekts mit einem vorgegebenen Datum7.3.3Ein Schaltjahr bestimmen7.3.4Festlegen des Ablaufdatums für den Inhalt einer Webseite7.3.5Berechnen der Zeitspanne bis zu einem bestimmten Termin. . . .7.3.6Das Erstellungsdatum einer Webseite per JavaScript faken . . . .7.3.7Veränderte Inhalte auf Grund des Datums256258261263265268270273

7.3.87.3.97.3.107.3.117.47.5Die zeitgesteuerte optische Veränderung einer SeiteEine Datumsangabe in den lETF-Standard oder eine lokaleDarstellung umwandelnDie Berechnung regelmäßiger TermineDen Unterschied zwischen der lokalen Zeit und GreenwichMean Time ermittelnString-Operationen7.4.1Methoden von Zeichenketten7.4.2Die Länge einer Zeichenkette und verschiedeneString-Methoden7.4.3Die Unicode-Kodierung von Zeichen bestimmen7.4.4Aus Unicode Zeichenketten erzeugen7.4.5Einen Teil eines Strings extrahieren7.4.6Einen String an einem definierten Trennzeichen in einDatenfeld aufspaltenReguläre Ausdrücke7.5.1Was sind reguläre Ausdrücke?7.5.2Objekte vom Typ RegExp7.5.3Test auf eine gültige E-Mail-Adresse und einen korrektenUsernamen mit test()7.5.4Verwertung des resultierenden Datenfelds beim Durchsucheneines Strings mit execO7.5.5Extrahierung der Versionsnummer eines Browsers mit execOund Auswertung von geklammerten Teilen7.5.6Suchen und Ersetzen von Suchpattern mit search!) undreplaced7.5.7Sperren bestimmter Eingaben in einem Webformularfeld mitregulären Ausdrücken und der matchO- 892902922942962972983033073093113133147.6Objekte vom Typ Function3177.7Nutzen von Klassenelementen aus Math7.7.1Eigenschaften bzw. Konstanten7.7.2Methoden3203203207.8Objekte und Klassenelemente von Number7.8.1Eigenschaften von Number7.8.2Methoden von Number3233233257.9Zusammenfassung32911

DOM - das Mysterium der JavaScript-Welt3318.1Was ist das DOM-Konzept?8.1.1Grundsätzliches zum Weg durch den DOM3323338.2Die verfügbaren DOM-Objekte8.2.1Das Konzept der Objektfelder3373398.3Generelle Zugriffsmöglichkeiten auf DOM-Objekte3408.3.1Der Zugriff über einen Namen - getElementsByNameO3418.3.2Zugriff über eine ID - getElementByldd3438.3.3Zugriff über den Elementnamen - getElementsByTagNameO . . . 3448.3.4Der kurze Dienstweg - this3458.4Zugriff auf Inhalte von Elementen in der Webseite8.4.1Zugriff auf Textinhalte8.4.2Zugriff auf Formularinhalte8.4.3Zugriff auf klassische HTML-Attribute8.4.4Zugriff über nodeValue3473473483483538.5Das Objekt document8.5.1Die Eigenschaften8.5.2Die Methoden von document3533533718.6Das node-Objekt8.6.1Knotenarten8.6.2Die Eigenschaften eines node-Objekts8.6.3Die Methoden eines terweiterung, Prototyping und die Erstellung eigenerKonstruktormethoden3939.1Ein einzelnes Objekt erweitern3949.2Was zeichnet eine Methode gegenüber einer normalen Funktion aus? . . . 3969.3Was ist Prototyping?3979.4Erstellen von Konstruktormethoden9.4.1Was zeichnet eine Konstruktormethode aus?9.4.2this bei Konstruktormethoden9.4.3Vererbung mit Prototyping 24144199.59.6

InTeil IIIErweiterte JavaScript-Techniken10 Erweiterte JavaScript-Techniken42142310.1Was umfasst dieser Abschnitt?42410.2Zusammenfassung42611 Fenster und Frames42711.1Der Toplevel und die reservierten Fensternamen42811.2Die Eigenschaften und Methoden des window-Objekts11.2.1Eigenschaften11.2.2Die Methoden von window42842943011.3Anwendungen mit Fenstern11.3.1Öffnen und Schließen eines Fensters11.3.2Positionieren und in der Größe festlegen11.3.3Automatische Weiterleitung von Besuchern11.3.4Standarddialogfenster von window11.3.5Die Startseite des Browsers aufrufen11.3.6Zugriff auf die Statuszeile des Browsers11.3.7Eine Aktion zeitverzögert aufrufen11.3.8Zugriff auf die Adresszeile des 5Zugriff auf die History des Webbrowsers11.5.1Die Anzahl der Einträge in der History eines Besuchers11.5.2Aufruf der zuletzt besuchten Seite48148148111.6Zugriff auf Bildschirminformationen eines Besuchers11.6.1Die Bildschirmauflösung11.6.2Die Farbauflösung bei einem Besucher48248248411.7Zusammenfassung485IFrames und das Objektfeld framesDie Eigenschaften und Methoden von Frame-ObjektenGleichzeitiges Aktualisieren mehrerer FramesDaten aus IFrames laden - ein unsichtbarer Datenspeicher . . . .Daten in einem IFrame speichernVerhindern, dass eine Datei in einem Frameset angezeigt w i r d . .

Inhalt12 Browserauswertung48712.1Das Objekt navigator48812.2Die Browserkennung12.2.1Suche nach spezifischen Informationen in navigator.appName,navigator.appVersion und navigator.userAgent12.2.2Indirekte Identifizierung eines Browsers unter Ausnutzungeines Mangels12.2.3Was ist die sinnvollste Identifizierungstechnik?12.2.4Die Spracheinstellung eines Browsers48949449649712.3Java-Unterstützung bei einem Browser testen49912.4Bestimmung, welche Plug-ins ein Browser unterstützt50012.5Bestimmung, welche MIME-Types ein Browser unterstützt50412.6Eine Browserweiche erstellen50812.7Zusammenfassung51513 Zugriff auf Webformulare51713.1Das Formularobjekt13.1.1Die Eigenschaften eine Formularobjekts13.1.2Die Methoden13.1.3Die Elemente in dem Webformular13.1.4Das Objektfeld options51851851951952113.2Zugriff auf ein Webformular per JavaScript13.2.1Zugriff auf den Wert eines FormularelementsVerschicken und Zurücksetzen von Formulardaten52252253713.4Plausibilisieren von Formularen13.4.1Abbruch von Aktionen13.4.2Fehlerreaktion13.4.3Ein Beispiel mit 513.314 Ereignisbehandlung und das event-Objekt1449054714.1Grundlagen zu Ereignisobjekten14.1.1Blubbern14.1.2Die Informationen im Ereignisobjekt54854854914.2Das Ereignisobjekt verwenden14.2.1Das Netscape-Ereignismodell14.2.2Das Microsoft-Ereignismodell14.2.3Die konkrete Verwertung eines Ereignisobjekts54955055155214.3Eine universelle Ereignisbehandlung560

ung in JavaScriptRegistrierung eines ListenersDas Alternativkonzept im Microsoft-ModellEine universelle Funktion zur Registrierung eines Listener14.5Zusammenfassung15 Ausnahmebehandlung15.1564564567568570571Was ist eine Ausnahme?15.1.1Wozu dient ein Ausnahmekonzept?15.1.2Die verschiedene Ausnahmetypen57257357615.2Das Auffangen einer Ausnahme57715.3Selbst definierte Ausnahmen erzeugen und verwenden15.3.1Erstellen einer selbst definierten Ausnahme15.3.2Auswerfen von Ausnahmen15.3.3Freie Benutzereingaben mit dem Ausnahmekonzept absichern .58458558559015.4Mehrere Ausnahmen behandeln59415.5Zusammenfassung59516 DHTML und Animationstechniken59716.1DHTML mit reinem JavaScript16.1.1Eine Animation durch Manipulation von Grafiken59860216.2Verbinden von JavaScript und Stylesheets über style16.2.1Die Eigenschaften von style16.2.2Die Methoden von style16.2.3Mit style eine Webseite formatieren16.2.4Den Mauszeiger verändern16.2.5Ein Farbwähler für die Hintergrundfarbe16.2.6Die Webseite dynamisch verändern16.2.7Eine Animation durch Manipulation von Grafiken (style-Version)16.2.8Eine Interaktionskomponente dynamisieren16.2.9Ein blinkender Text als Animation mit sung63417 JavaScript jenseits der Version 1.5 und ECMAScript 563517.1Neue Datenfeldmethoden in JavaScript 1.617.1.1Methoden zum Indexzugriff17.1.2Iterative Methoden für Datenfelder63663663817.2E 4 X - X M L in JavaScript17.2.1Erstellen eines E4X XML-Objekts17.2.2Variablen in E4X64164164415

17.2.317.2.417.2.517.2.6Zugriff auf Attribute über das E4X-XML-ObjektDie Arbeit mit E4X-XML-ObjektenMethoden eines E4X-XML-0bjektsDer Umgang mit Objekten vom Typ XMLList17.3JavaScript 1.7 und 1.817.3.1JavaScript 1.717.3.2JavaScript 1.865465465617.4ECMAScript 517.4.1JSON17.4.2Objekte schützen17.4.3Ein paar neue offizielle Datenfeldmethoden17.4.4Strenger Verarbeitungsmodus17.4.5Neue Art der Objekteigenschaften und Zugriffsbeschränkungenauf Objekte17.4.6Multithreading über Web Workers656657658658658Zusammenfassung66217.518 Fehlersuche und Fehler vermeiden18.1659660663Welche Fehler gibt es?18.1.1Typografische Fehler18.1.2Syntaktische Fehler18.1.3LaufzeitfehlerGegenmaßnahmen - Fehler verhindern, abfangen und korrekte664665666666Versionen sichern18.2.1Vernünftige Sicherungsmaßnahmen - Versionierung18.2.2Fehler zur Laufzeit abfangen667667667Fehler suchen18.3.1Fehler ohne Debugger finden18.3.2Fehlersuche mit einem Debugger66866867018.4Fehler beheben68118.5Zusammenfassung68218.218.319 JsUnit - testgetriebene Entwicklung mit JavaScript19.16646648651652683Was sind Unit-Tests?68519.1.1Wie arbeitet man grundsätzlich bei testgetriebener Entwicklungmit xUnit?68519.1.2Vorzüge von TDD mittels Unit-Testing68619.1.3Probleme von TDD68719.1.4Fazit pro und contra688

Inhalt19.2Das Ergebnis eines xUnit-Tests68819.3Download und Installation des JsUnit-Frameworks68819.4Testseiten und Testfunktionen19.4.1Der Aufbau von Testfunktionen19.4.2Ausführen eines Tests über den JsUnit Test Runner69069169419.5Bessere Tests19.5.1Level der Verfolgung19.5.2Die Standardfunktionen zur Verfolgung69969970019.6Zusammenfassung70620 Sicherheit und Optimierung70720.1Welche Sicherheitslücken weist JavaScript auf?70820.1.1Signierte Skripte und Sicherheitseinstellungen der Browser. . . . 70920.1.2Das Motiv71320.1.3Was geht wirklich mit JavaScript?71420.2Wie kann man seine Skripte schützen?20.2.1Diebstahl geistigen Eigentums20.2.2Veränderung20.2.3Deaktivierung durch den erprinzip langsam - JIT schnell20.3.2Reduzierung der Skriptgröße20.3.3Externe JavaScript-Dateien einsetzen und Kodierungkennzeichnen20.3.4Auf die überflüssige Erstellung von Objekten verzichten undinsbesondere keine Funktionsobjekte benutzen20.3.5Überflüssige Ausnahmenbehandlung vermeiden20.3.6Kein evalO20.3.7Die Anweisung withO mit Bedacht einsetzen20.3.8Variablen bei der Deklaration immer mit einem Wert versehenund nach Möglichkeit explizit als lokal kennzeichnen20.3.9Die Anweisung for-in kann ineffektiv sein20.3.10 Bei setTimeoutt) und setlntervalU Funktionsreferenzen oderanonyme Funktionen verwenden20.3.11 Den DOM der Webseite nicht permanent dynamisch verändern 72572672617

InhaltTeil IVKommunikation zwischen Client und Server21 Diener und Herr21.1Die Beziehung zwischen Webserver und Browser21.1.1Der grundsätzliche Ablauf einer Kommunikation zwischenHerr und Diener - HTTP21.1.2Verbindungsorientierte Datenkommunikation21.1.3Zustandslose Datenkommunikation21.1.4Die HTTP-Details und die HTTP-Header21.1.5Der HTTP-Request21.1.6Der HTTP-Response21.1.7Die Methoden der Datenübertragung per HTTP73173273273473473473573773821.2Die Meldungen eines Webservers74021.3Zusammenfassung74122 Das Datenformat74322.1Binäre �ndige HTML- und XHTML-Dateien22.2.2HTML-Fragmente22.2.3Reiner Klartext22.2.4Klartext mit Struktur und beliebiger Logik74474574574674622.3Zusammenfassung75423 AJAX und das Web 2.023.123.223.323.418729Was ist AJAX und was bedeutet Web 2.0?23.1.1AJAX als technische Basis des Web 2.0755756757Der grundsätzliche Ablauf einer AJAX-Anfrage und dasXMLHttpRequest-Objekt (XHR)23.2.1Der grundsätzliche Ablauf23.2.2Ein XMLHttpRequest-Objekt erzeugenDie Anforderung von Daten23.3.1Die Methoden eines XHR-Objekts23.3.2Die Eigenschaften eines XMLHttpRequest-ObjektsVerschiedene Datentypen vom Server per AJAX nachfordern23.4.1E ine reine Textdatei mit AJAX nachfordern23.4.2Übergabe von Werten an den Webserver23.4.3Nachfordern von XML-Daten761761762765765767769769778780

Inhalt23.4.423.4.5JSON-Daten anfordern und verarbeitenEin praktisches Beispiel mit Auswertung der HTTP-Header . . . .78879123.5Statusinformationen für den Anwender23.5.1Die Auswertung des Statuscodes des Servers79379323.6Zusammenfassung797Teil VAPIs, Frameworks & Toolkits24 Frameworks, Toolkit und APIs79980124.1Was versteht man unter den Definitionen Framework, Toolkit und API? . . 80224.1.1Framework vs. Toolkit80224.1.2Web APIs80224.1.3Für wen lohnen sich Frameworks, Toolkits und fremde APIs?. . . 80324.1.4AJAX als Titel für APIs, Frameworks und Toolkits - nurMogelpackungen?80524.2Verschiedene Ansätze für Frameworks und Toolkits80524.3Zusammenfassung80625 1.325.1.425.1.525.1.6Download und InstallationZugriff auf Elemente der WebseiteDie Webseite durchlaufen oder manipulierenPraktische jQuery-BeispieleAJAX und jQueryDas jQuery UlDas Dojo-Toolkit25.2.1Download des Dojo Toolkits oder direkte Einbindung aus demInternet25.2.2Ein Überblick25.2.3Die Datei dojo.js - die Verwaltungszentrale25.2.4Der Einstieg ins Geschäft25.2.5Das Grundgerüst einer Dojo-Applikation25.2.6Die requireO-Methode und das Dojo-Paketsystem25.2.7Namensräume25.2.8Schutz des D O M - d i e Methode dojo.addOnLoadl)25.2.9Der Dojo-Typ und das gerenderte Widget25.2.10 Ein Beispiel mit Dojo-Widgets25.2.11 Das Dijit - Dojo Widget 3483583883984084319

Inhalt25.3Prototype25.3.1Der Einstieg25.3.2Shortcuts25.3.3Try.theseO - Ausnahmebehandlung mit 3.5Prototype und AJAX84384484584884984925.4Zusammenfassung85226 Google Web APIs und das Google Web Toolkit - GWT26.1Die Google Web APIs26.1.1Die gemeinsame Basis26.1.2Das Google Maps API26.1.3Das Google AJAX Feed API26.1.4Das Google AJAX Search API85685785886987226.2Was ist das GWT?26.2.1Warum mit dem GWT arbeiten?26.2.2Kontra GWT26.2.3Der Aufbau eines typischen GWT-Entwicklungszyklus26.2.4Download und Installation26.2.5Die GWT-Beispielapplikationen ausführen26.2.6Der GWT Development Mode26.2.7Aufruf von Applikationen im GWT Development Mode26.2.8Erstellen einer eigenen Applikation26.2.9Vorhandene Beispiele erweitern und mmenfassung90027 Web-APIs von Microsoft - Bing90127.1Das Bing API27.2Die Windows Live ID und die AppID90327.3Das Bing API aus einer Webapplikation verwenden27.3.1Der Umgang mit der Antwort90490627.4Zusammenfassung91028 Das YUI und die Yahoo! Web APIs und Web Services2085590291128.1Die Web APIs und Web Services91128.2Das YUI28.2.1Ein Überblick28.2.2Die Bestandteile von YUI28.2.3Die Struktur der YUI-Bibtiothek912914914915

Inhalt28.2.428.2.528.2.628.3ADie konkrete Anwendung des YUIWie gehen Sie zum Einstieg am besten vor?Exemplarisches Anpassen eines ellen923A.2Die Buch-CD926A.3HTML und XHTML - grundlegende rukturierung einer Webseite mit HTML926926927928A.4Grundlagen StylesheetsA.4.1Kaskadierung von RegelnA.4.2Die konkrete Syntax von CSS-Deklarationen929929929A.5Das hexadezimale Zahlensystem930A.6Der ISO-Latin-1-Zeichensatz930A.7Add-ons für Firefox939Index94321

7.5.3 Test auf eine gültige E-Mail-Adresse und einen korrekten Usernamen mit test() 307 7.5.4 Verwertung des resultierenden Datenfelds beim Durchsuchen eines Strings mit execO 309 7.5.5 Extrahierung der Versionsnummer eines Browsers mit execO und Auswertung von geklammerten Teilen 311 7.5.6 Suchen und Ersetzen von Suchpattern mit search!) und

Related Documents:

JavaScript Manual for LCCS Teachers 13 Client-side JavaScript vs. server-side JavaScript For many years JavaScript was a client-side scripting language. This was because JavaScript programs could only be run from inside web browsers which were installed on client machines. Because of the fact that JavaScript code can run on client devices it means

- The Spark web app framework . Yahoo JavaScript PHP Amazon.com JavaScript Java, C , Perl Wikipedia.org JavaScript PHP, Hack Twitter.com JavaScript C , Java, Scala, Ruby Bing JavaScript ASP.net eBay.com JavaScript Java, JavaScript, Scala . Note the MVC architecture

GBV. Increase public awareness of GBV by moving away from the mere 16 days of activism to a robust 365 days campaign against GBV and encourage every citizen to take specific steps to prevent GBV in both the private and public arena. In light of the recommendations made the Government UN GBV JP facilitated a one day workshop

JavaScript. Check a framework's documentation for details. Using the SDK with Web Browsers All major web browsers support execution of JavaScript. JavaScript code that is running in a web browser is often called client-side JavaScript. Using the SDK for JavaScript in a web browser differs from the way in which you use it for Node.js. The

Praise for Effective JavaScript "Living up to the expectation of an Effective Software Development Series pro-gramming book, Effective JavaScript by Dave Herman is a must-read for anyone who wants to do serious JavaScript programming. The book provides detailed explanations of the inner workings of JavaScript, which helps readers take better

JavaScript directly within the HTML file. We can also include more than one script tag and can include a mix of internal JavaScript and external JavaScript files. This will be useful, for example, if we have some JavaScript that is appropriate for many of our webpages and then some JavaScript that is specific to one page. Function Definition

managing a GBV program with an NGO or coordinating a GBV working group. GBV coordinators can and are recruited without GBV program management experience and sometimes move from coordination into program management positions. Many GBV Program Managers do not move

The Gender Based Violence (GBV) conference will bring together partners working in the GBV Sector; Government Department stakeholders; representatives from donors in the Development Sector, SANAC and the Global Fund. The conference will focus on: The State's Response in dealing with GBV Exploring the link between GBV & HIV