-[QUIZ: We must convert array-like objects into actual arrays. Can any built-in methods help](#quiz-we-must-convert-array-like-objects-into-actual-arrays-can-any-built-in-methods-help)
47
43
-[We can use built-in methods to our advantage](#we-can-use-built-in-methods-to-our-advantage)
48
-
-[QUIZ: Implement a multiplication function (first argument by largest number)](#quiz-implement-a-multiplication-function-first-argument-by-largest-number-)
49
44
-[We can use call and apply to build a solution](#we-can-use-call-and-apply-to-build-a-solution)
50
45
-[Closures](#closures)
51
46
-[But why doesn't this work](#but-why-doesnt-this-work)
52
47
-[Closures are frequently used for callbacks](#closures-are-frequently-used-for-callbacks)
53
48
-[They're also useful for timers](#theyre-also-useful-for-timers)
54
49
-[And they're also frequently used when attaching event listeners](#and-theyre-also-frequently-used-when-attaching-event-listeners)
55
50
-[Private properties, using closures](#private-properties-using-closures)
56
-
-[QUIZ: What are the values of the variables](#quiz-what-are-the-values-of-the-variables)
57
51
-[The last one is quite tricky, we'll revisit it](#the-last-one-is-quite-tricky-well-revisit-it)
-[Now we can handle closures and looping](#now-we-can-handle-closures-and-looping)
61
55
-[The anonymous wrapper functions are also useful for wrapping libraries](#the-anonymous-wrapper-functions-are-also-useful-for-wrapping-libraries)
62
56
-[Another way to wrap a library](#another-way-to-wrap-a-library)
63
-
-[QUIZ: Fix the broken closures in this loop](#quiz-fix-the-broken-closures-in-this-loop)
64
57
-[A quick wrapper function will do the trick](#a-quick-wrapper-function-will-do-the-trick)
65
58
-[Function s](#function-s)
66
59
-[Adding a d method to a function](#adding-a-d-method-to-a-function)
67
60
-[Properties added in the constructor (or later) override d properties](#properties-added-in-the-constructor-or-later-override-d-properties)
68
61
-[d properties affect all objects of the same constructor, simultaneously, even if they already exist](#d-properties-affect-all-objects-of-the-same-constructor-simultaneously-even-if-they-already-exist)
69
-
-[QUIZ: Make a chainable Ninja method](#quiz-make-a-chainable-ninja-method)
70
62
-[The chainable method must return this](#the-chainable-method-must-return-this)
71
63
-[Instance Type](#instance-type)
72
64
-[Examining the basics of an object](#examining-the-basics-of-an-object)
73
65
-[We can still use the constructor to build other instances](#we-can-still-use-the-constructor-to-build-other-instances)
74
-
-[QUIZ: Make another instance of a Ninja](#quiz-make-another-instance-of-a-ninja)
75
66
-[Use the .constructor property to dig in](#use-the-constructor-property-to-dig-in)
76
67
-[Inheritance](#inheritance)
77
68
-[The basics of how prototypal inheritance works](#the-basics-of-how-prototypal-inheritance-works)
78
-
-[QUIZ: Let's try our hand at inheritance](#quiz-lets-try-our-hand-at-inheritance)
79
69
-[The result is rather straight-forward](#the-result-is-rather-straight-forward)
80
70
-[Built-in s](#built-in-s)
81
71
-[We can also modify built-in object s](#we-can-also-modify-built-in-object-s)
@@ -90,8 +80,16 @@ This documentation is based on John Resig's website on Advanced JavaScript
90
80
-[We can use it to implement method overloading](#we-can-use-it-to-implement-method-overloading)
91
81
-[How method overloading might work, using the function length property](#how-method-overloading-might-work-using-the-function-length-property)
92
82
-[Quizzes](#quizzes)
93
-
94
-
<!-- TODO: Create a Separate Quiz Category -->
83
+
-[QUIZ: Can you cache the results of this function](#quiz-can-you-cache-the-results-of-this-function)
84
+
-[QUIZ: Add a method that gives a name to the ninja](#quiz-add-a-method-that-gives-a-name-to-the-ninja)
85
+
-[QUIZ: Is there another, more generic, way of doing this](#quiz-is-there-another-more-generic-way-of-doing-this)
86
+
-[QUIZ: We must convert array-like objects into actual arrays. Can any built-in methods help](#quiz-we-must-convert-array-like-objects-into-actual-arrays-can-any-built-in-methods-help)
87
+
-[QUIZ: Implement a multiplication function (first argument by largest number)](#quiz-implement-a-multiplication-function-first-argument-by-largest-number-)
88
+
-[QUIZ: What are the values of the variables](#quiz-what-are-the-values-of-the-variables)
89
+
-[QUIZ: Fix the broken closures in this loop](#quiz-fix-the-broken-closures-in-this-loop)
90
+
-[QUIZ: Make a chainable Ninja method](#quiz-make-a-chainable-ninja-method)
91
+
-[QUIZ: Make another instance of a Ninja](#quiz-make-another-instance-of-a-ninja)
92
+
-[QUIZ: Let's try our hand at inheritance](#quiz-lets-try-our-hand-at-inheritance)
0 commit comments