Buch, Englisch, 973 Seiten, Format (B × H): 178 mm x 254 mm
Reihe: Rheinwerk Computing
The Comprehensive Guide
Buch, Englisch, 973 Seiten, Format (B × H): 178 mm x 254 mm
Reihe: Rheinwerk Computing
ISBN: 978-1-4932-2797-6
Verlag: Rheinwerk Verlag GmbH
Start your JavaScript journey with this hands-on guide! Discover everything there is to know about professional JavaScript programming, from core language concepts to essential client-side tasks. Create powerful backend applications with Node.js and build dynamic web and mobile applications with step-by-step instructions. Expand your skillset by exploring server-side development, advanced language features, and artificial intelligence capabilities, from local chatbots to image recognition with TensorFlow.
Highlights include:
1)Reference types
2)Objects
3)Events
4)Forms
5)Web pages
6)Web APIs
7)Object-oriented programming
8)Functional programming
9)Client-side applications
10)Server-side applications
11)Mobile applications
12)Artificial intelligence (AI)
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
... Preface ... 23
... Target Audience ... 23
... Structure of the Book ... 24
... How Should I Read This Book? ... 24
... Acknowledgments ... 24
1 ... Basics and Introduction ... 27
1.1 ... Programming Basics ... 27
1.2 ... Introduction to JavaScript ... 41
1.3 ... Summary ... 49
2 ... Getting Started ... 51
2.1 ... Introduction to JavaScript and Web Development ... 51
2.2 ... Integrating JavaScript into a Web Page ... 58
2.3 ... Creating Output ... 71
2.4 ... Summary ... 77
3 ... Language Core ... 79
3.1 ... Storing Values in Variables ... 79
3.2 ... Using the Different Data Types ... 88
3.3 ... Deploying the Different Operators ... 106
3.4 ... Controlling the Flow of a Program ... 125
3.5 ... Creating Reusable Code Blocks ... 161
3.6 ... Responding to Errors and Handling Them Correctly ... 190
3.7 ... Commenting the Source Code ... 209
3.8 ... Debugging the Code ... 209
3.9 ... Summary ... 219
4 ... Working with Reference Types ... 221
4.1 ... Differences Between Primitive Data Types and Reference Types ... 221
4.2 ... Encapsulating State and Behavior in Objects ... 228
4.3 ... Working with Arrays ... 261
4.4 ... Extracting Values from Arrays and Objects ... 286
4.5 ... Working with Strings ... 298
4.6 ... Using Maps ... 305
4.7 ... Using Sets ... 312
4.8 ... Other Global Objects ... 316
4.9 ... Working with Regular Expressions ... 320
4.10 ... Functions as Reference Types ... 339
4.11 ... Summary ... 347
5 ... Dynamically Changing Web Pages ... 349
5.1 ... Structure of a Web Page ... 349
5.2 ... Selecting Elements ... 355
5.3 ... Working with Text Nodes ... 382
5.4 ... Working with Elements ... 386
5.5 ... Working with Attributes ... 395
5.6 ... Summary ... 399
6 ... Processing and Triggering Events ... 401
6.1 ... The Concept of Event-Driven Programming ... 401
6.2 ... Responding to Events ... 402
6.3 ... The Different Types of Events ... 418
6.4 ... Understanding and Influencing the Flow of Events ... 430
6.5 ... Programmatically Triggering Events ... 444
6.6 ... Summary ... 447
7 ... Working with Forms ... 449
7.1 ... Accessing Forms and Form Fields ... 449
7.2 ... Programmatically Submitting and Resetting Forms ... 462
7.3 ... Validating Form Inputs ... 464
7.4 ... Summary ... 474
8 ... Controlling Browsers and Reading Browser Information ... 475
8.1 ... The Browser Object Model ... 475
8.2 ... Accessing Window Information ... 477
8.3 ... Accessing Navigation Information of a Currently Open Web Page ... 487
8.4 ... Viewing and Modifying the Browsing History ... 490
8.5 ... Recognizing Browsers and Determining Browser Features ... 496
8.6 ... Accessing Screen Information ... 499
8.7 ... Summary ... 500
9 ... Dynamically Reloading Contents of a Web Page ... 501
9.1 ... The Principle of Ajax ... 501
9.2 ... The XML Format ... 507
9.3 ... The JSON Format ... 512
9.4 ... Making Requests via Ajax ... 517
9.5 ... Summary ... 542
10 ... Simplifying Tasks with jQuery ... 543
10.1 ... Introduction ... 543
10.2 ... Working with the DOM ... 548
10.3 ... Responding to Events ... 565
10.4 ... Creating Ajax Requests ... 572
10.5 ... Summary ... 579
11 ... Dynamically Creating Images and Graphics ... 585
11.1 ... Drawing Images ... 585
11.2 ... Integrating Vector Graphics ... 606
11.3 ... Summary ... 613
12 ... Using Modern Web APIs ... 615
12.1 ... Communicating via JavaScript ... 616
12.2 ... Recognizing Users ... 625
12.3 ... Using the Browser Storage ... 633
12.4 ... Using the Browser Database ... 640
12.5 ... Accessing the File System ... 651
12.6 ... Moving Components of a Web Page with Drag and Drop ... 659
12.7 ... Parallelizing Tasks ... 664
12.8 ... Determining the Location of Users ... 668
12.9 ... Reading the Battery Level of an End Device ... 671
12.10 ... Outputting Speech and Recognizing Speech ... 674
12.11 ... Creating Animations ... 678
12.12 ... Working with the Command Line ... 682
12.13 ... Developing Multilingual Applications ... 691
12.14 ... Overview of Various Web APIs ... 703
12.15 ... Summary ... 707
13 ... Object-Oriented Programming ... 709
13.1 ... The Principles of Object-Oriented Programming ... 709
13.2 ... Prototypical Object Orientation ... 715
13.3 ... Pseudoclassical Object Orientation ... 722
13.4 ... Object Orientation with Class Syntax ... 728
13.5 ... Summary ... 747
14 ... Functional Programming ... 749
14.1 ... Principles of Functional Programming ... 749
14.2 ... Imperative Programming and Functional Programming ... 751
14.3 ... Summary ... 760
15 ... Correctly Structuring the Source Code ... 763
15.1 ... Avoiding Name Conflicts ... 763
15.2 ... Defining and Using Modules ... 767
15.3 ... Summary ... 781
16 ... Using Asynchronous Programming and Other Advanced Features ... 783
16.1 ... Understanding and Using Asynchronous Programming ... 783
16.2 ... Encapsulating Iteration over Data Structures ... 800
16.3 ... Pausing and Resuming Functions ... 804
16.4 ... Intercepting Access to Objects ... 807
16.5 ... Summary ... 812
17 ... Creating Server-Based Applications with Node.js ... 815
17.1 ... Introduction to Node.js ... 815
17.2 ... Managing Node.js Packages ... 818
17.3 ... Processing and Triggering Events ... 825
17.4 ... Accessing the File System ... 829
17.5 ... Creating a Web Server ... 833
17.6 ... Accessing Databases ... 842
17.7 ... Working with Streams ... 849
17.8 ... Summary ... 857
18 ... Creating Mobile Applications with JavaScript ... 859
18.1 ... The Different Types of Mobile Applications ... 859
18.2 ... Creating Mobile Applications with React Native ... 865
18.3 ... Summary ... 878
19 ... AI Applications with JavaScript ... 879
19.1 ... Basics and Concepts ... 880
19.2 ... Working with LLMs on the Server ... 884
19.3 ... Practical Application of LLMs ... 895
19.4 ... LangChain Architecture Framework for AI Applications ... 908
19.5 ... Summary ... 915
20 ... Setting up a Professional Development Process ... 917
20.1 ... Automating the Workflow ... 917
20.2 ... Version Control of the Source Code ... 939
20.3 ... Summary ... 955
... The Author ... 957
... Index ... 959




