1 - Introduction 1:09
2 - Intro to JavaScript 3:50
3 - Our First JavaScript Program 7:54
4 - Manipulating HTML with JavaScript 6:43
5 - Basic, Input, Output, Comments 6:46
6 - Application Architecture 4:58
7 - Variables and Expressions 6:46
8 - IIFE, Scope, and Window Object 6:19
9 - Engines and Runtime Environments 9:02
10 - Global vs Local Variables 5:44
11 - Block Scoping 5:31
12 - Primitives and Objects 10:42
13 - Difference Between Primitives and Objects 4:25
14 - Number Data Type 5:05
15 - Arithmetic Operators, Precedence, Associativity 4:43
16 - Increment, Decrement, and Assignment Operators 5:43
17 - parseInt and parseFloat Methods 3:34
18 - Converting Decimal Numbers to Binary, Octal, and Hexadecimal 5:06
19 - Number Instance Methods and Math Object 7:00
20 - String Data Type 5:48
21 - String Methods 5:38
22 - More String Methods 7:08
23 - Functions and Objects 7:50
24 - If, Else, Else If 3:40
25 - Benefit of Control Flow 3:52
26 - Comparison Operators 2:46
27 - Logical Operators 3:54
28 - Switch Statement 5:07
29 - Single Line if Statement 3:14
30 - Ternary Operator 4:44
31 - Intro to Loops 6:01
32 - Creating Loops 6:54
33 - Loop Examples 9:02
34 - Break and Continue 6:06
35 - Nested Loops 6:36
36 - Intro to Arrays 6:19
37 - Intro to Multidimensional Arrays 6:51
38 - Using Arrays 5:54
39 - Iterate Through Array Examples Search an Array 6:58
40 - Average of Array Values 4:01
41 - Fill Array from User Input Indefinite Loop and Sentinel Value 4:15
42 - Array Methods Part 1 7:47
43 - Array Methods Part 2 5:05
44 - Array Methods Part 3 7:46
45 - forEach Method Arrays 6:40
46 - Iterate Multidimensional Array with for and forEach 7:18
47 - Label with Break and Continue 8:36
48 - Dates 6:31
49 - Using Dates and Unix Timestamp in JavaScript 9:15
50 - Date Methods 7:53
51 - Intro to Functions - Functions Part 1 8:22
52 - Passing Arguments by Value - Functions Part 2 7:21
53 - Callback Functions - Functions Part 3 8:50
54 - Function Declarations and Expressions 3:10
55 - Hoisting 4:36
56 - Hoisting in Practice 6:12
57 - Functions as First Class Citizens Objects 6:47
58 - Memoization and Algorithms Optimization 8:23
59 - Default Parameters, Rest Parameters, Implicit Parameters 8:13
60 - Introduction to this 5:17
61 - this 6:21
62 - Call and Apply 2:59
63 - bind 2:26
64 - Arrow Function 4:35
65 - Creating Arrow Functions 3:50
66 - this with Arrow Functions 4:02
67 - this with Arrow Methods and Object Literals 3:42
68 - bind with Arrow Functions 2:37
69 - Intro to Debugging 4:37
70 - Event Listener Breakpoints 3:19
71 - Exemptions Throw, Catch, Finally 6:41
72 - Object Oriented JavaScript 4:08
73 - Creating a Constructor Function 5:16
74 - Creating a Factory Function 2:36
75 - Creating Prototype Methods for Constructor Functions 3:33
76 - Prototype Inheritance 2:30
77 - Prototypes and Constructors 2:11
78 - Setting an Object Prototype Using Object.setPrototypeOf 2:44
79 - Override in Prototypal Inheritance 3:20
80 - Instance Properties vs Prototype Properties 5:24
81 - Polymorphism 3:36
82 - Polymorphism Example 3:30
83 - Polymorphism Example 5:42
84 - Check an Object for a Property Using in 1:52
85 - hasOwnProperty Method 1:40
86 - How to Get an Array of Property Names from an Object 2:11
87 - Converting Object Literals to Constructors 4:40
88 - Setting Prototypes with Constructors 2:12
89 - instance Operator 4:21
90 - HTML Essentials 8:06
91 - CSS Essentials 10:51
92 - Intro to the DOM 2:07
93 - Working with DOM Children 3:51
94 - getElementsByTagName and getElementsByClassName 2:39
95 - Node Types and Node Names 5:07
96 - Text Node ChildNodes Explained 4:04
97 - Modifying nodeValue 3:18
98 - Practice with Event Listeners 5:53
99 - Working with Attributes in the DOM 4:24
100 - Dynamically Adding Nodes 4:17
101 - Conclusion and What’s Next