Effective JavaScript: 68 specific ways to harness the power of JavaScript
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
[München]
Addison-Wesley Educational Publishers Inc
2012
|
Schriftenreihe: | Effective software development series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Hier auch später erschienene, unveränderte Nachdrucke |
Beschreibung: | 206 S. |
ISBN: | 9780321812186 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV040708252 | ||
003 | DE-604 | ||
005 | 20130410 | ||
007 | t | ||
008 | 130130s2012 xxu |||| 00||| eng d | ||
010 | |a 2012035939 | ||
020 | |a 9780321812186 |c pbk. : alk. paper |9 978-0-321-81218-6 | ||
035 | |a (OCoLC)828790494 | ||
035 | |a (DE-599)BVBBV040708252 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-355 | ||
050 | 0 | |a QA76.73.J39 | |
082 | 0 | |a 005.2/762 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
100 | 1 | |a Herman, David |e Verfasser |4 aut | |
245 | 1 | 0 | |a Effective JavaScript |b 68 specific ways to harness the power of JavaScript |c David Herman |
264 | 1 | |a [München] |b Addison-Wesley Educational Publishers Inc |c 2012 | |
300 | |a 206 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Effective software development series | |
500 | |a Hier auch später erschienene, unveränderte Nachdrucke | ||
650 | 4 | |a JavaScript (Computer program language) | |
856 | 4 | 2 | |m Digitalisierung UB Regensburg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025688656&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-025688656 |
Datensatz im Suchindex
_version_ | 1804150014010720256 |
---|---|
adam_text | Contents
Foreword
xiii
Preface
xv
Acknowledgments
xvii
About the Author
xix
Chapter
1:
Accustoming Yourself to JavaScript
1
Item
1:
Know Which JavaScript You Are Using
1
Item
2:
Understand JavaScript s
Floating-Point
Numbers
7
Item
3:
Beware of Implicit Coercions
9
Item
4:
Prefer Primitives to Object Wrappers
15
Item
5:
Avoid using
==
with Mixed Types
16
Item
6:
Learn the Limits of Semicolon Insertion
19
Item
7:
Think of Strings As Sequences of 16-Bit Code Units
25
Chapter
2:
Variable Scope
31
Item
8:
Minimize Use of the Global Object
31
Item
9:
Always Declare Local Variables
34
Item
10:
Avoid with
35
Item
11:
Get Comfortable with Closures
39
Item
12:
Understand Variable Hoisting
42
Item
13:
Use Immediately Invoked Function Expressions to
Create Local Scopes
44
Item
14:
Beware of Unportable Scoping of Named Function
Expressions
47
χ
Contents
Item
15:
Beware of Unportable Scoping of Block-Local
Function Declarations
50
Item
16:
Avoid Creating Local Variables with eval
52
Item
17:
Prefer Indirect eval to Direct eval
54
Chapter
3:
Working with Functions
57
Item
18:
Understand the Difference between Function,
Method, and Constructor Calls
57
Item
19:
Get Comfortable Using Higher-Order Functions
60
Item
20:
Use call to Call Methods with a Custom Receiver
63
Item
21:
Use apply to Call Functions with Different Numbers
of Arguments
65
Item
22:
Use arguments to Create Variadic Functions
67
Item
23:
Never Modify the arguments Object
68
Item
24:
Use a Variable to Save a Reference to arguments
70
Item
25:
Use bind to Extract Methods with a Fixed Receiver
72
Item
26:
Use bind to Curry Functions
74
Item
27:
Prefer Closures to Strings for Encapsulating Code
75
Item
28:
Avoid Relying on the toString Method of Functions
77
Item
29:
Avoid
Nonstandard
Stack Inspection Properties
79
Chapter
4:
Objects and Prototypes
83
Item
30:
Understand the Difference between prototype,
getPrototypeOf, and
__
proto
__ 83
Item
31:
Prefer Object.getPrototypeOf to
__
proto
__ 87
Item
32:
Never Modify
__
proto
__ 88
Item
33:
Make Your Constructors new-Agnostic
89
Item
34:
Store Methods on Prototypes
92
Item
35:
Use Closures to Store Private Data
94
Item
36:
Store Instance State Only on Instance Objects
95
Item
37:
Recognize the Implicit Binding of this
98
Item
38:
Call Superclass Constructors from Subclass
Constructors
101
Item
39:
Never Reuse Superclass Property Names
105
Item
40:
Avoid Inheriting from Standard Classes
106
Item
41:
Treat Prototypes As an Implementation Detail
109
Item
42:
Avoid Reckless Monkey-Patching
110
Contents xi
Chapter
5:
Arrays and Dictionaries
113
Item
43:
Build Lightweight Dictionaries from Direct
Instances of Ob ject
113
Item
44:
Use null Prototypes to Prevent Prototype Pollution
116
Item
45:
Use hasOwnProperty to Protect Against Prototype
Pollution
118
Item
46:
Prefer Arrays to Dictionaries for Ordered Collections
123
Item
47:
Never Add Enumerable Properties to
Object.prototype
125
Item
48:
Avoid Modifying an Object during Enumeration
127
Item
49:
Prefer for Loops to
f
or...in Loops for Array Iteration
132
Item
50:
Prefer Iteration Methods to Loops
133
Item
51:
Reuse Generic Array Methods on Array-Like Objects
138
Item
52:
Prefer Array Literals to the Array Constructor
140
Chapter
6:
Library and API Design
143
Item
53:
Maintain Consistent Conventions
143
Item
54:
Treat undefined As No Value
144
Item
55:
Accept Options Objects for Keyword Arguments
149
Item
56:
Avoid Unnecessary State
153
Item
57:
Use Structural Typing for Flexible Interfaces
156
Item
58:
Distinguish between Array and Array-Like
160
Item
59:
Avoid Excessive Coercion
164
Item
60:
Support Method Chaining
167
Chapter
7:
Concurrency
171
Item
61:
Don t Block the Event Queue on I/O
172
Item
62:
Use Nested or Named Callbacks for Asynchronous
Sequencing
175
Item
63:
Be Aware of Dropped Errors
179
Item
64:
Use Recursion for Asynchronous Loops
183
Item
65:
Don t Block the Event Queue on Computation
186
Item
66:
Use a Counter to Perform Concurrent Operations
190
Item
67:
Never Call Asynchronous Callbacks Synchronously
194
Item
68:
Use Promises for Cleaner Asynchronous Logic
197
Index
201
|
any_adam_object | 1 |
author | Herman, David |
author_facet | Herman, David |
author_role | aut |
author_sort | Herman, David |
author_variant | d h dh |
building | Verbundindex |
bvnumber | BV040708252 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.J39 |
callnumber-search | QA76.73.J39 |
callnumber-sort | QA 276.73 J39 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)828790494 (DE-599)BVBBV040708252 |
dewey-full | 005.2/762 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2/762 |
dewey-search | 005.2/762 |
dewey-sort | 15.2 3762 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01362nam a2200361zc 4500</leader><controlfield tag="001">BV040708252</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130410 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">130130s2012 xxu |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2012035939</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321812186</subfield><subfield code="c">pbk. : alk. paper</subfield><subfield code="9">978-0-321-81218-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)828790494</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV040708252</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-355</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.J39</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.2/762</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Herman, David</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Effective JavaScript</subfield><subfield code="b">68 specific ways to harness the power of JavaScript</subfield><subfield code="c">David Herman</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">[München]</subfield><subfield code="b">Addison-Wesley Educational Publishers Inc</subfield><subfield code="c">2012</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">206 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Effective software development series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Hier auch später erschienene, unveränderte Nachdrucke</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">JavaScript (Computer program language)</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Regensburg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025688656&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-025688656</subfield></datafield></record></collection> |
id | DE-604.BV040708252 |
illustrated | Not Illustrated |
indexdate | 2024-07-10T00:32:11Z |
institution | BVB |
isbn | 9780321812186 |
language | English |
lccn | 2012035939 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025688656 |
oclc_num | 828790494 |
open_access_boolean | |
owner | DE-355 DE-BY-UBR |
owner_facet | DE-355 DE-BY-UBR |
physical | 206 S. |
publishDate | 2012 |
publishDateSearch | 2012 |
publishDateSort | 2012 |
publisher | Addison-Wesley Educational Publishers Inc |
record_format | marc |
series2 | Effective software development series |
spelling | Herman, David Verfasser aut Effective JavaScript 68 specific ways to harness the power of JavaScript David Herman [München] Addison-Wesley Educational Publishers Inc 2012 206 S. txt rdacontent n rdamedia nc rdacarrier Effective software development series Hier auch später erschienene, unveränderte Nachdrucke JavaScript (Computer program language) Digitalisierung UB Regensburg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025688656&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Herman, David Effective JavaScript 68 specific ways to harness the power of JavaScript JavaScript (Computer program language) |
title | Effective JavaScript 68 specific ways to harness the power of JavaScript |
title_auth | Effective JavaScript 68 specific ways to harness the power of JavaScript |
title_exact_search | Effective JavaScript 68 specific ways to harness the power of JavaScript |
title_full | Effective JavaScript 68 specific ways to harness the power of JavaScript David Herman |
title_fullStr | Effective JavaScript 68 specific ways to harness the power of JavaScript David Herman |
title_full_unstemmed | Effective JavaScript 68 specific ways to harness the power of JavaScript David Herman |
title_short | Effective JavaScript |
title_sort | effective javascript 68 specific ways to harness the power of javascript |
title_sub | 68 specific ways to harness the power of JavaScript |
topic | JavaScript (Computer program language) |
topic_facet | JavaScript (Computer program language) |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025688656&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT hermandavid effectivejavascript68specificwaystoharnessthepowerofjavascript |