Prime JavaScript tutorial
A simple JavaScript tutorial for beginners with a taskbook and problem solving examples.
Basics
001
JavaScript introduction for beginners
002Running JavaScript
003JavaScript first program
004Let's analyze the program code
005Next examples
006JavaScript files inclusion
007Multiple files with JavaScript scripts
008Script tag nuanses in JavaScript
009Caching of JavaScript files in the browser
010Strict mode in JavaScript
011JavaScript Comments
012JavaScript variables
013Using of variables
014Declaring of multiple variables in JavaScript
015Variable value changes
016Multiple let for single variable
017Math operations on numbers in JavaScript
018Mathematical operations on variables in JavaScript
019Math operations precedence in JavaScript
020Equal priority of mathematical operations in JavaScript
021Grouping parentheses in JavaScript
022Fractions in JavaScript
023Negative numbers in JavaScript
024Plus sign before numbers in JavaScript
025Division remainder in JavaScript
026Exponentiation in JavaScript
027Exponentiation precedence
028Strings in JavaScript
029String concatenation in JavaScript
030String length in JavaScript
031Template strings in JavaScript
032Multiline strings
033Special values in JavaScript
034Undefined value
035Null value
036True and false values
037NaN value
038Infinity, -Infinity values in JavaScript
039Working with console in JavaScript
040Data type in the console in JavaScript
041Errors in the JavaScript console
042Constants in JavaScript
043Automatic type conversion
044Conversion to number in JavaScript
045Short number convertion in JavaScript
046Conversion incorrect numbers in JavaScript
047Numbers extraction in JavaScript
048Conversion to string in JavaScript
049Applying transformations to strings in JavaScript
050Boolean type conversion in JavaScript
051Conversion to boolean type in JavaScript
052Retrieving the characters of a string in JavaScript
053String immutability in JavaScript
054Last string character in JavaScript
055Strings containing digits in JavaScript
056Accessing the digits of a number in JavaScript
057Operations to change a variable in JavaScript
058Shorthand operations in JavaScript
059Increment and decrement operations in JavaScript
060Prefix and postfix type in JavaScript
061Inaccurate calculations in JavaScript
062Prompt function in JavaScript
063Prompt types problem in JavaScript
064Writing text to a document in JavaScript
065Search for errors in the code
066Practical usage of operations in JavaScript
067Practical usage of formulas in JavaScript
Arrays
068
Arrays in JavaScript
069Accessing Array Elements in JavaScript
070Array length in JavaScript
071Changing an array elements in JavaScript
072Rewriting array elements in JavaScript
073Increment and decrement array elements in JavaScript
074Adding elements to array by keys JavaScript
075Sparse arrays in JavaScript
076Adding elements using "push" in JavaScript
077Array keys in variables in JavaScript
078Delete operator in arrays in JavaScript
079Finding mistakes in code with arrays in JavaScript
Objects
080
Objects in JavaScript
081Output of an entire object in JavaScript
082Strings as object keys in JavaScript
083Object properties in JavaScript
084Object key restrictions in JavaScript
085Changing object elements in JavaScript
086Adding elements to objects in JavaScript
087Object disorder in JavaScript
088Array of object keys in JavaScript
089Object length in JavaScript
090Object keys in variables in JavaScript
091Error accessing element by key in JavaScript
092Error accessing object property in JavaScript
093Computed properties in JavaScript
094in operator in JavaScript
095delete operator in JavaScript
096Object typification in JavaScript
097Arrays as objects in JavaScript
098Distinguishing arrays from objects in JavaScript
099Objects and primitives in JavaScript
100Passing objects by reference in JavaScript
101Objects and arrays as constants in JavaScript
102Programming style through constants in JavaScript
103Finding errors in code with objects in JavaScript
Conditions
104
if-else construct in JavaScript
105Greater than and less than operators in JavaScript
106Checking for equality in JavaScript
107Checking for inequality in JavaScript
108Variables comparison in JavaScript
109String equality in JavaScript
110Strings and numbers equality in JavaScript
111Equality in value and type in JavaScript
112Inequality in value and type in JavaScript
113Logical AND in JavaScript
114Logical OR in JavaScript
115Precedence of logical operators in JavaScript
116Combining conditions in JavaScript
117Inverting logical expressions in JavaScript
118Conditions with boolean values in JavaScript
119Comparing values with a boolean type in JavaScript
120Shorthand checking for true in JavaScript
121Shorthand checking for false in JavaScript
122General shorthand checking in JavaScript
123Complex conditions in shortened form in JavaScript
124Optionality of else construct in JavaScript
125Optionality of curly braces in JavaScript
126Problem with optionality of curly braces in if-else
127else if construct in JavaScript
128Nested if-else constructs in JavaScript
129switch-case construct in JavaScript
130Optionality of break in switch-case construct in JavaScript
131Ternary operator in JavaScript
132Logical operations in JavaScript
133confirm function in JavaScript
134Variable scope of if-else in JavaScript
135Nuances of variable scope in if-else constructs in JavaScript
136Checking parts of hour with if-else in JavaScript
137Checking the length of strings and arrays in JavaScript
138Checking the characters of a string in JavaScript
139Checking the digits of a number in JavaScript
140Checking the division remainder in JavaScript
141Search for errors in the with conditions in JavaScript
142Practical usage of if-else conditions in JavaScript
Loops
143
Introduction to loops in JavaScript
144for loop in JavaScript
145Iterating over an array with a for-of loop in JavaScript
146Iterating over an object with a for-in loop in JavaScript
147while loop in JavaScript
148for loop for arrays in JavaScript
149Conditions in loops in JavaScript
150Accumulation of numbers in loops in JavaScript
151Accumulation of array elements in loops in JavaScript
152Formation of string through loops in JavaScript
153Digits of a number when iterating through a loop in JavaScript
154Optional Parentheses in JavaScript Loops
155The Problem with Optional Parentheses in Loops in JavaScript
156break statement in JavaScript
157continue statement in JavaScript
158Nested loops in JavaScript
159Scope in loops in JavaScript
160Nested loops and scope in JavaScript
161Filling an array in JavaScript
162Changing an array in a loop in JavaScript
163Filling Objects via Loop in JavaScript
164Changing objects with a loop in JavaScript
165Working with flags in JavaScript
166Coding tips for loops in JavaScript
167Code debugging tips on the example for loops in JavaScript
168Finding errors in code with loops in JavaScript
169Loops practice in JavaScript
Multidimensionality
170
Multidimensional arrays in JavaScript
171Three-dimensional array in JavaScript
172Arbitrary arrays in JavaScript
173Iterating over multidimensional arrays in JavaScript
174Iterating through the ordinary for in JavaScript
175Filling multidimensional arrays in JavaScript
176Issues of filling multidimensional arrays in JavaScript
177Filling multidimensional arrays in order in JavaScript
178Multidimensional objects in JavaScript
179Iterating over multidimensional objects in JavaScript
180Multidimensional Structures in JavaScript
181Iterating over multidimensional structures in JavaScript
182Array of objects in JavaScript
183Keys from Variables in JavaScript Multidimensional Structures
184Adding elements to multidimensional arrays in JavaScript
185Adding elements to multidimensional objects in JavaScript
Standard methods
186
Pow and sqrt in JavaScript
187Rounding functions in JavaScript
188Finding the maximum and minimum number in JavaScript
189Random in JavaScript
190Abs in JavaScript
191Character case in JavaScript
192String Slicing in JavaScript
193String searching in JavaScript
194String replacing in JavaScript
195Splitting Strings in JavaScript
196Border elements in JavaScript
197Array cutting in JavaScript
198Array searching in JavaScript
199An array of object keys in JavaScript
200Finding errors in code with standard methods in JavaScript
User-defined functions
201
Basics of working with user-defined functions in JavaScript
202Function parameters in JavaScript
203Multiple function parameters in JavaScript
204Variable as function parameter in JavaScript
205Optional parameters in JavaScript
206return statement in JavaScript
207Sequential function calls in JavaScript
208Subtle point of return in JavaScript
209return and loop in JavaScript
210Usage of return in loops in JavaScript
211Working methods with return in JavaScript
212Flags in JavaScript functions
213Logical statements without if in functions in JavaScript
214Tips for creating functions in JavaScript
215Finding errors in code with functions in JavaScript
216Practice on JavaScript functions
Function variables
217
Global variables in JavaScript functions
218Local variables in JavaScript functions
219Same variables name in JavaScript functions
220Changing global variables in JavaScript
221Global variables and function parameters in JavaScript
222Variable and parameter names coincidence in JavaScript
223Parameter-object in JavaScript
Types of Function Declarations
224
The source code of function and its result in JavaScript
225Function as variable in JavaScript
226Writing a function to another variable in JavaScript
227Assigning functions to variables in JavaScript
228Function and variable same name in JavaScript
229Function expression and Function declaration in JavaScript
230Difference between declarations
231Semicolon for declaring functions in JavaScript
232Nuances of Function Expressions in JavaScript
233Function has name, but is Function Expression in JavaScript
234Named function expressions in JavaScript
235How to check the type of a function in JavaScript
236Left expression of function in JavaScript
237Right expression of function in JavaScript
238An array with anonymous functions in JavaScript
239Object with anonymous functions in JavaScript
240Application of anonymous functions object in JavaScrip
Nested functions
241
Passing functions as parameters in JavaScript
242Named functions-parameters in JavaScript
243Parameters of passed functions in JavaScript
244Pass a number as a parameter in JavaScript
245Applying of passing functions as parameters in JavaScript
246Nested functions in JavaScript
247Scope of nested functions in JavaScript
248Parameters of outer function in JavaScript
249Parameters of outer and inner functions in JavaScript
250Same name parameters in JavaScript
251Function returning a function in JavaScript
252Any nesting level in JavaScript
253Parameters of returning functions in JavaScript
254Callback functions in JavaScript
255Callbacks nuances in JavaScript
256Arrow functions in JavaScript
257Arrow functions application in JavaScript
Closures
258
Outer variables access in JavaScript
259Lexical environment of functions in JavaScript
260Functions lexical environment applying in JavaScript
261Closures in JavaScript
262Counter using closure in JavaScript
263Nuance local variable of counter in JavaScript
264Nuance global variable of counter in JavaScript
IIFE
265
Immediately invoked function call in JavaScript
266Assignment function to a variable in JavaScript
267Application function of in-place call in JavaScript
268Parentheses in IIFE in JavaScript
269Immediately invoked function call parameters in JavaScript
270Multiple calling in IIFE in JavaScript
271Pitfalls in IIFE in JavaScript
272Semicolon for safety in IIFE
273Closures and IIFE in JavaScript
Recursion
274
Working with recursion in JavaScript
275Example with a parameter with recursion in JavaScript
276Sum of array elements with recursion in JavaScript
277Recursion and multidimensional structures in JavaScript
278Sum of array elements with recursion in JavaScript
279Manipulations with elements in JavaScript
Iteration methods
280
map method to iterate over an array in JavaScript
281forEach method to iterate over an array in JavaScript
282filter method to filter an array in JavaScript
283every method to check an array in JavaScript
284some method to check an array in JavaScript
285Array Folding in JavaScript
286Array Folding in JavaScript
Spread operator
Rest operator
Destructuring
297
Array destructuring in JavaScript
298Destructuring an array from a function in JavaScript
299Skipping array elements during destructuring in JavaScript
300Extra values during destructuring an array in JavaScript
301Remaining part of an array when destructuring in JavaScript
302Default values when destructuring an array in JavaScript
303Default functions when destructuring an array in JavaScript
304Variable declaration when destructuring an array in JavaScript
305Object destructuring in JavaScript
306Variable names when destructuring objects in JavaScript
307Default values when destructuring objects in JavaScript
308Variables and default values in JavaScript
309Declaring variables when destructuring objects in JavaScript
310Function parameters destructuring in JavaScript
311Objects in function parameters destructuring in JavaScript
Time
312
Working with the Date object in JavaScript
313Date formats in JavaScript
314Changing a date format in JavaScript
315Getting the day of the week in JavaScript
316Printing parts of a date with words in JavaScript
317Setting the time in the Date object in JavaScript
318Getting time in timestamp format in JavaScript
319Difference between dates in timestamp format in JavaScript
320Difference between objects with date in JavaScript
321Automatic date adjustment in JavaScript
322Finding the last day of the month in JavaScript
323Leap year determination in JavaScript
324Date validation in JavaScript
325Getting day of the current year in JavaScript
326Day of the current month
327Day of next or previous year
328Day of next or previous month
329Difference of points in time
330Point in time of day
331Beginning of the day in JavaScript
332End of the day in JavaScript
333Loop check of time in JavaScript
334Practice for getting moments of time in JavaScript
335String comparison of dates in JavaScript
336Comparison of date without year in JavaScript
337Date falling into the interval
338Comparing objects with dates in JavaScript
Introduction to the DOM
339
DOM Basics in JavaScript
340DOM elements in JavaScript
341Getting the DOM element in JavaScript
342Advanced selectors of the DOM element in JavaScript
343Attaching handlers to elements in JavaScript
344Named event handlers in JavaScript
345Single handler for multiple elements in JavaScript
346Multiple handlers for one event in JavaScript
347Handlers for different events in JavaScript
348Working with element text in JavaScript
349Working with HTML code of element in JavaScript
350Tag attributes as properties in JavaScript
351Working with text fields in JavaScript
352Text fields focus in JavaScript
353Exceptions when working with attributes in JavaScript
354Methods and properties chaining in JavaScript
355Advantages and disadvantages of chains in JavaScript
356this object in JavaScript
357this object advantage in JavaScript
358Getting a group of elements in JavaScript
359Adding handlers in a loop in JavaScript
360Adding anonymous handlers in a loop in JavaScript
361Unbinding events in JavaScript
362Unbinding event handlers in a loop in JavaScript
363Unbinding anonymous functions in JavaScript
364DOM Coding Tips in JavaScript
365Finding errors in code with DOM in JavaScript
366Working out the studied material for work with the DOM
Attributes
367
Getting of attributes in JavaScript
368Setting of attributes in JavaScript
369Removing of attributes in JavaScript
370Attributes checking in JavaScript
371Custom attributes in JavaScript
372Hyphenated names of attributes in JavaScript
373Accessing to attributes via methods in JavaScript
374Working with array of CSS classes in JavaScript
375Adding of CSS classes in JavaScript
376Removing of CSS classes in JavaScript
377Checking of CSS classes in JavaScript
378Toggling of CSS classes in JavaScript
Stylization
Searching
385
Finding descendants of elements in JavaScript
386Finding parents of elements in JavaScript
387Search for all parents of elements in JavaScript
388Search for siblings of elements in JavaScript
389Getting of element by id in JavaScript
390Getting of element by tag name in JavaScript
391Getting of element by class name in JavaScript
392Search for elements inside another element in JavaScript
Nodes
Forms
Dropdown lists
406
Working with dropdown lists in JavaScript
407Value attribute of dropdown lists in JavaScript
408Changing the selected list item in JavaScript
409The number of the selected dropdown list item
410Getting dropdown list items in JavaScript
411Advanced method of getting dropdown list items in JavaScript
412Working with dropdown list items in JavaScript
413Selecting a list item in JavaScript
414Getting the selected option in JavaScript
Event object
415
Event object basics in JavaScript
416Event coordinates in JavaScript
417Event type in the Event object in JavaScript
418Event element in an Event object in JavaScript
419Getting pressed keys in JavaScript
420Modifier key tracking in JavaScript
421Canceling default action in JavaScript
422Event bubbling in JavaScript
423Getting the target element when an event is bubbling in JavaScript
424Stopping event bubbling in JavaScript
425Multiple handlers on an element in JavaScript
426Immediate termination of bubbling in JavaScript
427Usage of stopping event bubbling in JavaScript
428Events capturing in JavaScript
429Attaching handlers to new elements in JavaScript
430Event delegation in JavaScript
431Universal event delegation in JavaScript
Context
432
Context basics in JavaScript
433Unbound function context in JavaScript
434Context loss in JavaScript
435Solving the context problem in JavaScript
436Context with variable in JavaScript
437Context with passing parameter in JavaScript
438Context with arrow function in JavaScript
439Binding a context via the call method in JavaScript
440Call method with parameters in JavaScript
441Binding a context via the apply method in JavaScript
442Binding a context via the bind method in JavaScript
Timers
443
SetInterval function basics in JavaScript
444Counter using setInterval function in JavaScript
445Stopping a timer in JavaScript
446Button for starting a timer in JavaScript
447Multiple pressing of the button for starting a timer in JavaScript
448Buttons to start and stop a timer in JavaScript
449Practice on timers and working with the DOM in JavaScript
450Timers and context loss in JavaScript
451Practice on timers and working with the DOM in JavaScript
452Delay before execution in JavaScript
453Timer start in JavaScript
Element manipulation
454
Creating and inserting elements in JavaScript
455Binding events on insertion of elements
456Creating elements in a loop in JavaScript
457Attaching handlers in a loop in JavaScript
458Removing elements in JavaScript
459Insertion of elements before or after in JavaScript
460Insert elements before JavaScript elements
461Adjacent insertion of elements in JavaScript
462Adjacent tag insertion in JavaScript
463Cloning elements in JavaScript
464Checking elements in JavaScript
Practicum
465
Creating elements from an array in JavaScript
466Practice on creating ul lists in JavaScript
467Creating HTML tables in JavaScript
468Sequential populating an HTML table
469Creating an HTML table from an array in JavaScript
470Creating an HTML table from an array of objects
471Adding rows and columns to an HTML table
472Modifying HTML table cells in JavaScript
473Self-removal of new elements in JavaScript
474Link to remove an element in JavaScript
475Creating links to remove elements in JavaScript
476Editing a single element in JavaScript
477Hiding text while editing an element in JavaScript
478Editing in a group of elements in JavaScript
479Simultaneous editing and removal of elements
480Element styling in JavaScript
481Buttons to hide and show an element in JavaScript
482Many elements with show buttons in JavaScript
483Element activation in JavaScript
484Alternation of activation styles in JavaScript
485Practice on changing elements in JavaScript
Functions an the DOM
486
Functions for working with a DOM element in JavaScript
487Functions for working with a group of DOM elements
488Passing a callback to work with the DOM in JavaScript
489Passing an index number to a callback in JavaScript
490Passing a DOM element as a function parameter
491Passing a group of DOM elements as function parameters
492Function for creating HTML tables in JavaScript
493Returning a table from a function in JavaScript
494Function to create a table from an array
Modules via closures
495