dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

JavaScript für Enterprise-Entwickler - Professionell programmieren im Browser und auf dem Server

Oliver Ochs

 

Verlag dpunkt, 2012

ISBN 9783864911279 , 302 Seiten

Format PDF, ePUB, OL

Kopierschutz Wasserzeichen

Geräte

25,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

Inhaltsverzeichnis

16

1 Die Geschichte von JavaScript

26

1.1 JavaScript – die Lingua franca des WWW

26

1.2 Netscape und JavaScript

26

1.3 Das Vorbild Self

27

1.4 Das Vorbild Scheme

28

1.5 JavaScript und ECMAScript

28

1.6 ECMAScript 5th Edition

29

1.7 Harmony

30

1.8 JavaScript und HTML5

30

1.9 New Wave JavaScript

30

1.10 Die JavaScript-Revolution

31

1.11 Zusammenfassung

32

2 JavaScript-Laufzeitumgebungen

34

2.1 JavaScript-Interpreter

34

2.2 Read-Eval-Print-Loop

35

2.3 Der Browser

36

2.4 Headless JavaScript

36

2.5 Rhino

37

2.6 SpiderMonkey, TraceMonkey und JägerMonkey

38

2.7 Google V8

39

2.8 SquirrelFish und Nitro, Microsoft und Opera

40

2.9 Welche Umgebung für welchen Zweck?

40

2.10 Entwicklungsumgebungen

40

2.11 Zusammenfassung

41

3 Core JavaScript

42

3.1 Skriptsprachen

42

3.2 Typen und Werte

43

3.2.1 Schwache Typisierung

43

3.2.2 Literale

43

3.2.3 Typeof-Operator

43

3.2.4 Typenlose Verwendung

44

3.3 Imperative Programmierung

44

3.3.1 Ausdrücke und Operatoren

44

3.3.2 Vergleiche

45

3.3.3 Variablen

45

3.3.4 Blöcke und Gültigkeit von Variablen

46

3.3.5 Zahlen

47

3.3.6 Zeichenketten

48

3.3.7 Boolesche Werte

49

3.3.8 Arrays

49

3.3.9 Reguläre Ausdrücke

50

3.3.10 Kommentare

51

3.3.11 Tokens und Whitespaces

52

3.3.12 Kontrollstrukturen

53

3.3.13 Schleifen

54

3.3.14 Ausnahmebehandlung

56

3.4 Objektliteral

57

3.5 Zusammenfassung

58

4 JavaScript als funktionale Programmiersprache

60

4.1 Funktionsliteral

60

4.2 Funktionsnamen

61

4.3 Parameter und Parametervalidierung

61

4.4 Konfigurationsobjekt als lesbarer Parameter

64

4.5 Anonyme Funktionen

64

4.6 Geltungsbereiche (Scopes)

65

4.7 this

66

4.8 Geschachtelte Scopes und der globale Namensraum

67

4.9 Closures und Module

69

4.10 Funktionale Vererbung

70

4.11 Callbacks

72

4.12 Kaskaden

73

4.13 Rekursion

74

4.14 Funktions-Caching

74

4.15 Currying

75

4.16 Zusammenfassung

75

5 JavaScript als prototypische Programmiersprache

76

5.1 Definition und Verwendung

76

5.2 Duck-Typing

78

5.3 Prototypen

78

5.4 Konstruktoren

80

5.4.1 Kontruktoren und die new-Anweisung

80

5.4.2 Entwurfsmuster für die new-Anweisung

81

5.4.3 Konstruktor- und Prototypreferenz

83

5.5 this

83

5.5.1 Globales Objekt

84

5.5.2 Funktion

84

5.5.3 Methode

84

5.5.4 Konstruktor

84

5.5.5 that

85

5.6 Reflexion

85

5.7 Löschen von Eigenschaften

85

5.8 Zusammenfassung

86

6 JavaScript als objektorientierte Programmiersprache

88

6.1 Objekterzeugungsmuster

88

6.1.1 Rent-a-Constructor

88

6.1.2 Konstruktoren überladen

89

6.1.3 Rent-a-Constructor-and-a-Prototype

89

6.1.4 Referenz auf die Superklasse halten

90

6.2 Existierende Bibliotheken

91

6.2.1 Klassenbasierte Vererbung in Prototype

91

6.2.2 Douglas Crockfords Classical Inheritance in JavaScript

93

6.2.3 John Resigs Simple JavaScript Inheritance

95

6.3 Prototypische Vererbung

97

6.4 Vererbung durch Kopieren

98

6.5 Mixins

99

6.6 Einzelne Methoden wiederverwenden

100

6.7 Objekte in ES5

101

6.7.1 Object.preventExtensions

101

6.7.2 Object.isExtensible

101

6.7.3 Object.seal

102

6.7.4 Object.isSealed

102

6.7.5 Object.freeze

102

6.7.6 Object.isFrozen

102

6.8 Objekteigenschaften in ES5

103

6.8.1 Accessor-Properties

103

6.8.2 Property-Descriptor

103

6.8.3 Object.defineProperty

104

6.8.4 Object.defineProperties

105

6.8.5 Object.getOwnPropertyDescriptor

105

6.8.6 Object.keys

105

6.8.7 Object.getOwnPropertyNames

106

6.8.8 Enumeration

106

6.9 Objekterzeugung in ES5

106

6.10 Bind in ES5

107

6.11 Zusammenfassung

107

7 Eingebaute Objekte

108

7.1 Boolean

109

7.2 Number

109

7.3 String

110

7.4 Array

112

7.4.1 Array-ähnliche Objekte

113

7.4.2 Arrays und reguläre Ausdrücke

113

7.4.3 Arrays und ECMAScript 5th Edition

113

7.5 Date

114

7.6 Math

116

7.7 RegExp

117

7.8 Zusammenfassung

119

8 Entwurfsmuster

120

8.1 Singleton

120

8.2 Iterator

122

8.3 Factory

124

8.4 Strategy

125

8.5 Decorator

126

8.6 Bridge

128

8.7 Facade

129

8.8 Adapter

130

8.9 Proxy

131

8.10 Mediator

132

8.11 Observer

133

8.12 Template-Method

135

8.13 Command

136

8.14 Spooling

140

8.15 Futures und Promises

141

8.16 Fear of Code

143

8.17 Zusammenfassung

143

9 JavaScript im Webbrowser – Teil 1

144

9.1 Sandboxing

144

9.2 Einbettung und Referenzierung

145

9.3 Das Laden der Seite

146

9.4 Das Window-Objekt

147

9.5 Das Document-Objekt

147

9.6 DOM-API

148

9.7 Timer

153

9.8 Events

153

9.9 Zusammenfassung

157

10 JavaScript auf dem Server mit Node

158

10.1 Node-Grundlagen

158

10.1.1 Netzwerkapplikationen

158

10.1.2 Non-Blocking I/O

159

10.1.3 Event-Loop

159

10.1.4 Anwendungsfälle für Node

160

10.2 Node installieren

161

10.3 Hello World in Node

162

10.4 Events

163

10.5 Buffer

166

10.6 Streams

169

10.6.1 Readable Streams

170

10.6.2 Writable Streams

172

10.7 Weitere APIs

174

10.8 Module

174

10.9 Package-Management

177

10.10 Debugging

180

10.11 Beispielapplikation mit dem Express-Framework

182

10.12 Zusammenfassung

195

11 JavaScript im Webbrowser – Teil 2

196

11.1 Formulare

196

11.2 Ajax

199

11.3 Eine Einführung in jQuery

202

11.4 Einführung in jQuery-UI

207

11.4.1 Widgets

207

11.4.2 Interaction-Helpers und Effekte

212

11.4.3 Themeroller

212

11.5 Zusammenfassung

212

12 Build-Automatisierung

214

12.1 Kompilieren

214

12.2 Packaging

215

12.2.1 Assemblierung

215

12.2.2 Minifizierung

216

12.2.3 CommonJS-Module und Pakete

216

12.3 Testing

217

12.4 Linting

217

12.5 Deployment

217

12.6 Dokumentation

217

12.7 Maven

218

12.7.1 wro4j

218

12.7.2 Jasmine-Maven-Plug-in

220

12.7.3 JsDoc-Toolkit-Maven-Plug-in

221

12.8 Weitere Build-Systeme

222

12.9 Require.js

222

12.10 Zusammenfassung

222

13 Testen

224

13.1 Klassisches Testen

224

13.2 User-Interface-Tests

225

13.3 Testgetriebene Entwicklung

225

13.4 Unit Tests

226

13.5 Modultests im Browser

228

13.6 Stand-alone-Unit-Tests mit Jasmine

231

13.7 Verteiltes Testen mit JsTestDriver

236

13.8 Zusammenfassung

239

14 Nachwort

240

Anhang

242

A Referenz Core JavaScript

244

A.1 Anweisungen

244

A.1.1 Leere Anweisung

244

A.1.2 Var-Anweisung

244

A.1.3 Let-Anweisung

244

A.1.4 Const-Anweisung

244

A.1.5 Block-Anweisung

245

A.1.6 Try-Catch-Finally-Block

245

A.1.7 Throw-Anweisung

245

A.1.8 Debugger-Anweisung

245

A.1.9 Return-Anweisung

246

A.2 Ausdrücke und Operatoren

246

A.2.1 Ausdrücke

246

A.2.2 Operatoren

246

A.3 Kontrollstrukturen

250

A.3.1 If-Else-Anweisung

250

A.3.2 Switch-Case-Anweisung

250

A.3.3 While-Anweisung

251

A.3.4 Repeat-Until-Anweisung

251

A.3.5 Do-While-Anweisung

251

A.3.6 For-Anweisung

251

A.3.7 Label-Anweisung

252

A.3.8 Break-Anweisung

252

A.3.9 Continue-Anweisung

253

A.4 Whitespaces

253

A.5 Kommentare

253

A.6 Werte

254

A.7 Literale

254

A.7.1 Number

254

A.7.2 NaN

254

A.7.3 Infinity

255

A.7.4 Formatierung

255

A.7.5 number.toFixed

255

A.7.6 number.toPrecision

255

A.7.7 number.toString

255

A.7.8 number.toExponential

255

A.7.9 parseInt

256

A.7.10 parseFloat

256

A.8 Strings

256

A.9 Boolean

256

A.10 Reguläre Ausdrücke

257

A.11 Array

257

A.12 Objektliterale

258

B Objektreferenz

260

B.1 Boolean

260

B.1.1 Konstruktor

260

B.1.2 Eigenschaften

261

B.1.3 Methoden

261

B.2 Number

261

B.2.1 Konstruktor

261

B.2.2 Eigenschaften

262

B.2.3 Methoden

262

B.3 String

263

B.3.1 Konstruktor

263

B.3.2 Eigenschaften

264

B.3.3 Methoden

264

B.4 Array

269

B.4.1 Konstruktor

269

B.4.2 Eigenschaften

270

B.4.3 Methoden

270

B.5 Date

275

B.5.1 Konstruktor

275

B.5.2 Methoden

276

B.6 Math

280

B.6.1 Konstruktor

280

B.6.2 Konstanten

280

B.6.3 Rundungsfunktionen

281

B.6.4 Filterfunktionen

281

B.6.5 Trigonometrische Funktionen

281

B.6.6 Logarithmische Funktionen

282

B.6.7 Sonstige Funktionen

283

B.7 RegExp

283

B.7.1 Konstruktor

283

B.7.2 Zeichen

283

B.7.3 Eigenschaften

285

B.7.4 Methoden

285

C Namen und Namenskonventionen

288

D JavaScript-Laufzeitumgebungen installieren

290

D.1 Rhino

290

D.2 TraceMonkey

291

D.3 Google V8

292

E Literatur

294

Index

296