Cantitate/Preț
Produs

JavaScript: Rheinwerk Computing

Autor Philip Ackermann
en Limba Engleză Paperback – 22 sep 2022

Begin your JavaScript journey with this comprehensive, hands-on guide. You'll learn everything there is to know about professional JavaScript programming, from core language concepts to essential client-side tasks. Build dynamic web applications with step-by-step instructions and expand your knowledge by exploring server-side development and mobile development. Work with advanced language features, write clean and efficient code, and much more!

Highlights include:
Reference types
Objects
Events
Forms
Web APIs
Object-oriented programming
Functional programming
Client-side applications
Server-side applications
Mobile and desktop applications

Highlights:

  • Reference types
  • Objects
  • Events
  • Forms
  • Web APIs
  • Object-oriented programming
  • Functional programming
  • Client-side applications
  • Server-side applications
  • Mobile and desktop applications
Citește tot Restrânge

Din seria Rheinwerk Computing

Preț: 31897 lei

Preț vechi: 39872 lei
-20% Nou

Puncte Express: 478

Preț estimativ în valută:
6105 6440$ 5087£

Carte disponibilă

Livrare economică 12-26 decembrie
Livrare express 27 noiembrie-03 decembrie pentru 17206 lei

Preluare comenzi: 021 569.72.76

Specificații

ISBN-13: 9781493222865
ISBN-10: 1493222864
Pagini: 982
Dimensiuni: 180 x 254 x 50 mm
Greutate: 1.68 kg
Editura: Rheinwerk Verlag GmbH
Seria Rheinwerk Computing


Cuprins

... Book Resources ... 25

... Preface ... 27

... Target Audience ... 27

... Structure of the Book ... 28

... How Should I Read This Book? ... 28

... Acknowledgments ... 28

1 ... Basics and Introduction ... 31

1.1 ... Programming Basics ... 31

1.2 ... Introduction to JavaScript ... 46

1.3 ... Summary ... 53

2 ... Getting Started ... 55

2.1 ... Introduction to JavaScript and Web Development ... 55

2.2 ... Integrating JavaScript into a Web Page ... 64

2.3 ... Creating Output ... 76

2.4 ... Summary ... 83

3 ... Language Core ... 85

3.1 ... Storing Values in Variables ... 85

3.2 ... Using the Different Data Types ... 94

3.3 ... Deploying the Different Operators ... 112

3.4 ... Controlling the Flow of a Program ... 132

3.5 ... Creating Reusable Code Blocks ... 168

3.6 ... Responding to Errors and Handling Them Correctly ... 198

3.7 ... Commenting the Source Code ... 216

3.8 ... Debugging the Code ... 216

3.9 ... Summary ... 226

4 ... Working with Reference Types ... 229

4.1 ... Difference between Primitive Data Types and Reference Types ... 229

4.2 ... Encapsulating State and Behavior in Objects ... 236

4.3 ... Working with Arrays ... 270

4.4 ... Extracting Values from Arrays and Objects ... 294

4.5 ... Working with Strings ... 306

4.6 ... Using Maps ... 314

4.7 ... Using Sets ... 321

4.8 ... Other Global Objects ... 325

4.9 ... Working with Regular Expressions ... 329

4.10 ... Functions as Reference Types ... 349

4.11 ... Summary ... 356

5 ... Dynamically Changing Web Pages ... 357

5.1 ... Structure of a Web Page ... 357

5.2 ... Selecting Elements ... 363

5.3 ... Working with Text Nodes ... 390

5.4 ... Working with Elements ... 394

5.5 ... Working with Attributes ... 403

5.6 ... Summary ... 408

6 ... Processing and Triggering Events ... 409

6.1 ... The Concept of Event-Driven Programming ... 409

6.2 ... Responding to Events ... 410

6.3 ... The Different Types of Events ... 426

6.4 ... Understanding and Influencing the Flow of Events ... 439

6.5 ... Programmatically Triggering Events ... 454

6.6 ... Summary ... 456

7 ... Working with Forms ... 459

7.1 ... Accessing Forms and Form Fields ... 459

7.2 ... Programmatically Submitting and Resetting Forms ... 472

7.3 ... Validating Form Inputs ... 475

7.4 ... Summary ... 485

8 ... Controlling Browsers and Reading Browser Information ... 487

8.1 ... The Browser Object Model ... 487

8.2 ... Accessing Window Information ... 489

8.3 ... Accessing Navigation Information of a Currently Open Web Page ... 499

8.4 ... Viewing and Modifying the Browsing History ... 502

8.5 ... Recognizing Browsers and Determining Browser Features ... 508

8.6 ... Accessing Screen Information ... 510

8.7 ... Summary ... 511

9 ... Dynamically Reloading Contents of a Web Page ... 513

9.1 ... The Principle of Ajax ... 513

9.2 ... The XML Format ... 519

9.3 ... The JSON Format ... 524

9.4 ... Making Requests via Ajax ... 529

9.5 ... Summary ... 554

10 ... Simplifying Tasks with jQuery ... 555

10.1 ... Introduction ... 555

10.2 ... Working with the DOM ... 560

10.3 ... Responding to Events ... 576

10.4 ... Creating Ajax Requests ... 584

10.5 ... Summary ... 592

11 ... Dynamically Creating Images and Graphics ... 599

11.1 ... Drawing Images ... 599

11.2 ... Integrating Vector Graphics ... 620

11.3 ... Summary ... 627

12 ... Using Modern Web APIs ... 629

12.1 ... Communicating via JavaScript ... 631

12.2 ... Recognizing Users ... 639

12.3 ... Using the Browser Storage ... 647

12.4 ... Using the Browser Database ... 654

12.5 ... Accessing the File System ... 665

12.6 ... Moving Components of a Web Page ... 673

12.7 ... Parallelizing Tasks ... 678

12.8 ... Determining the Location of Users ... 682

12.9 ... Reading the Battery Level of an End Device ... 688

12.10 ... Outputting Speech and Recognizing Speech ... 691

12.11 ... Creating Animations ... 695

12.12 ... Working with the Command Line ... 699

12.13 ... Developing Multilingual Applications ... 708

12.14 ... Overview of Various Web APIs ... 720

12.15 ... Summary ... 724

13 ... Object-Oriented Programming ... 725

13.1 ... The Principles of Object-Oriented Programming ... 725

13.2 ... Prototypical Object Orientation ... 732

13.3 ... Pseudoclassical Object Orientation ... 739

13.4 ... Object Orientation with Class Syntax ... 745

13.5 ... Summary ... 764

14 ... Functional Programming ... 765

14.1 ... Principles of Functional Programming ... 765

14.2 ... Imperative Programming and Functional Programming ... 767

14.3 ... Summary ... 776

15 ... Correctly Structuring the Source Code ... 779

15.1 ... Avoiding Name Conflicts ... 779

15.2 ... Defining and Using Modules ... 783

15.3 ... Summary ... 797

16 ... Using Asynchronous Programming and Other Advanced Features ... 799

16.1 ... Understanding and Using Asynchronous Programming ... 799

16.2 ... Encapsulating Iteration over Data Structures ... 816

16.3 ... Pausing and Resuming Functions ... 820

16.4 ... Intercepting Access to Objects ... 824

16.5 ... Summary ... 829

17 ... Creating Server-Based Applications with Node.js ... 831

17.1 ... Introduction to Node.js ... 831

17.2 ... Managing Node.js Packages ... 834

17.3 ... Processing and Triggering Events ... 841

17.4 ... Accessing the File System ... 846

17.5 ... Creating a Web Server ... 851

17.6 ... Accessing Databases ... 859

17.7 ... Working with Streams ... 866

17.8 ... Summary ... 874

18 ... Creating Mobile Applications with JavaScript ... 877

18.1 ... The Different Types of Mobile Applications ... 877

18.2 ... Creating Mobile Applications with React Native ... 883

18.3 ... Summary ... 895

19 ... Desktop Applications with JavaScript ... 897

19.1 ... NW.js ... 898

19.2 ... Electron ... 903

19.3 ... Summary ... 908

20 ... Controlling Microcontrollers with JavaScript ... 909

20.1 ... Espruino ... 910

20.2 ... Tessel ... 916

20.3 ... BeagleBone Black ... 921

20.4 ... Arduino ... 924

20.5 ... Cylon.js ... 927

20.6 ... Summary ... 929

21 ... Establishing a Professional Development Process ... 931

21.1 ... Automating Tasks ... 931

21.2 ... Automated Testing of Source Code ... 936

21.3 ... Source Code Version Management ... 949

21.4 ... Summary ... 965

... The Author ... 967

... Index ... 969