К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Learn JavaScript · LearnSpace
Назад в каталог
courseraПрограммирование

Learn JavaScript

Курс от Scrimba
Начальный≈ 15 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

This is perhaps the most interactive JavaScript course ever recorded. It contains 140+ coding challenges, meaning that you will finally build that ever-so-important JavaScript muscle memory. You will solve the challenges directly in the browser thanks to Scrimba's interactive video technology, so there's not setup needed. Say goodbye to "tutorial hell" and get ready to start feeling your JavaScript superpowers grow exponentially. Another unique thing with this course is that you will build projects from the very start. Instead of long and boring theoretical lessons, you will dive head-first into building products and solving challenges. At the end of the course, you will have built a game, a Chrome extension, and even a mobile app the uses Google Firebase to persist data. This is learning by doing on steroids.

Навыки, которые вы освоите

JavascriptWeb ApplicationsComputational LogicApplication DevelopmentProgramming PrinciplesData StorageJSONData PersistenceScripting LanguagesComputer ProgrammingFront-End Web DevelopmentData StructuresEvent-Driven ProgrammingVideo Game DevelopmentWeb DevelopmentData Storage TechnologiesMobile Development

Программа курса

8 модулей · 202 учебных материалов

01Build Your First Web App36 материалов

Build a Passenger Counter App – Part 1

Welcome to the course!PLUGINHow to use scrimsPLUGINLet's build a passenger counter app!PLUGINSetting up our JavaScript filePLUGIN

Учитесь у экспертов

Per Harald Borgen

CEO at Scrimba

Learn JavaScript
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 15 ч

8 модулей

Язык: Английский

Часть программы вашего университета
Write your first JavaScript variablePLUGIN
Basic mathematical operationsPLUGIN
Reassigning and incrementingPLUGIN
Adding a buttonPLUGIN
The onclick event listenerPLUGIN

Build a Passenger Counter App – Part 2

Using functions to write less codePLUGINWrite your first functionPLUGINWrite a function that logs the sumPLUGINWrite a function that incrementsPLUGINIncrement on clicksPLUGINDisplay the countPLUGINThe Document Object ModelPLUGINDisplay the count with innerTextPLUGINCreate the save buttonPLUGINWhat is a string?PLUGINWrite your first string variablePLUGIN

Build a Passenger Counter App – Part 3

Log a greeting to the consolePLUGINStrings vs. NumbersPLUGINRender a welcome messagePLUGINImprove the message with string concatenationPLUGINUse plus equal for countPLUGINCreate the save featurePLUGINDebugging onlinePLUGINSet the count to 0PLUGINPersonalize and Download Your AppPLUGINDeploy with NetlifyPLUGIN

Practice Assignment

Build Your First Web App Practice AssignmentЗаданиеCongrats & recapPLUGIN

Set Up a Local Dev Environment

Setting Up a Local Dev EnvironmentPLUGINGetting Started with GitHub DesktopPLUGINEdit with VS Code and Push to GitHubPLUGINDeploy and Share Your ProjectPLUGIN
02Test Your Skills7 материалов
Variables practicePLUGINConcatenate two strings in a functionPLUGINIncrementing and decrementingPLUGINStrings and numbersPLUGINRendering an error messagePLUGINCalculator challengePLUGINReinforce your learning with a graded assignment.Задание
03Build a Game55 материалов

Build a Blackjack Game – Part 1

Let's build a Blackjack game!PLUGINAdd the firstCard, secondCard, and sumPLUGINIf...else conditionalsPLUGINYour first if...else statementPLUGINif/else...if/else statementPLUGINThe if...else statement for our gamePLUGINAdd the hasBlackJack variablePLUGINAdd the isAlive variablePLUGINLet's practice boolean conditionsPLUGINAdd the message variablePLUGIN

Build a Blackjack Game – Part 2

Link to stylesheetPLUGINAdd basic stylingPLUGINMake the start button workPLUGINDisplay the messagePLUGINDisplay the sumPLUGINDisplay the cardsPLUGINNew card buttonPLUGIN

Build a Blackjack Game – Part 3

Solving our cards problem with an arrayPLUGINIntro to arraysPLUGINArray indexesPLUGINArrays with multiple data typesPLUGINAdding and removing items from arraysPLUGINCreating the cards arrayPLUGINPush a new card to the array

Build a Blackjack Game – Part 4

How can we avoid hard-coding card values?PLUGINReturning values in functionsPLUGINUse a function to set the card valuesPLUGINGenerating random numbers with Math.random()PLUGINMath.random() * 6PLUGINFlooring the number with Math.floor()PLUGIN

Build a Blackjack Game – Part 5

Our new card feature is brokenPLUGINThe logical AND operatorPLUGINWrite your first logical operatorPLUGINThe logical OR operatorPLUGINOnly trigger newCard() if you're allowed toPLUGINObject sneak peekPLUGINIntro to objects

Practice Assignment

Build a Blackjack Game Practice AssignmentЗаданиеCongrats & recapPLUGIN
04Test Your Skills9 материалов
Objects and functionsPLUGINif elsePLUGINLoops and arraysPLUGINpush, pop, unshift, shift challengePLUGINLogical operatorsPLUGINRock papers scissorsPLUGINEmojiFighterPLUGINSorting fruitsPLUGINAssess your progress with a graded assignmentЗадание
05Build a Browser Extension55 материалов

Build a Chrome Extension – Part 1

Let's build a Chrome Extension!PLUGINAdd button and input tagPLUGINStyle the button and input tagPLUGINMake the input button work with onclickPLUGINRefactor to addEventListenerPLUGINWrite your first addEventListener()PLUGINYour turn to refactorPLUGIN

Build a Chrome Extension – Part 2

Create the myLeads array and inputElPLUGINWhen to use let and constPLUGINPush to the myLeads arrayPLUGINPush the value from the input fieldPLUGINUse a for loop to log out leadsPLUGINCreate the unordered listPLUGIN

Build a Chrome Extension – Part 3

Create the render functionPLUGINClear the input fieldPLUGINAdd the <a> tagPLUGINTemplate stringsPLUGINWrite your first template stringPLUGINMake the template string even more dynamicPLUGINTemplate strings on multiple lines

Build a Chrome Extension – Part 4

Truthy and falsy valuesPLUGINGuess the expression - truthy or falsy?PLUGINChecking localStorage before renderingPLUGINStyle the delete buttonPLUGINMake the delete button workPLUGINHow function parameters can improve our codePLUGIN

Build a Chrome Extension – Part 5

Arguments vs ParametersPLUGINArrays as parametersPLUGINRefactor renderLeads() to use a parameterPLUGINCreate the tabBtnPLUGINSave the tab urlPLUGINHow to get the current tab?PLUGINUse the Chrome API to get the tab

Practice Assignment

Build a Chrome Extension Practice AssignmentЗаданиеCongrats & recapPLUGIN
06Test Your Skills9 материалов
let & constPLUGINLog out items in an arrayPLUGINsave to localStoragePLUGINaddEventListener and object in arrayPLUGINGenerate sentencePLUGINRender imagesPLUGINRounding numbersPLUGINConvert string to number challengePLUGINProve what you know with a graded assignment.Задание
07Build a Mobile App25 материалов

Build a Mobile App – Part 1

Let's Build a Mobile AppPLUGINCreate new Firebase ProjectPLUGINCreate new Firebase Realtime DatabasePLUGINSet up Database Environment VariablePLUGINDelete unneeded codePLUGINAside: Push data to Firebase Realtime DatabasePLUGINPush a lead to Firebase Realtime DatabasePLUGINAside: Get a snapshot of data using onValuePLUGINConsole log data inside of onValuePLUGINAside: Turn an Object into an ArrayPLUGIN

Build a Mobile App – Part 2

Render all items using onValuePLUGINAside: Delete all data using removePLUGINDelete all leads using removePLUGINAdd label, placeholder and max-widthPLUGINAside: Setting the viewportPLUGINAdding viewport with meta tagPLUGIN

Build a Mobile App – Part 3

Aside: Web Application ManifestPLUGINTurning the web app into "mobile" appPLUGINDeploy to NetlifyPLUGINAdd app to home screenPLUGINRecapPLUGIN

Practice Assignment

Build a Mobile App - Practice AssignmentЗаданиеCongrats on completing the Learn JavaScript course!PLUGIN
08Bonus Module: Solo Projects6 материалов
About This ModuleЧтение It's time for you to build a Solo ProjectPLUGINSolo Project HintsЧтениеSolo Project - Basketball ScoreboardPLUGINSolo Project - Password GeneratorPLUGINSolo Project - Unit converter PLUGIN
Add to the sum when newCard is clickedPLUGIN
Rename the startGame functionPLUGIN
PLUGIN
Counting in JavaScriptPLUGIN
Write your first loopPLUGIN
For loops and arraysPLUGIN
Write your first array-based for loopPLUGIN
For loops, arrays, and DOMPLUGIN
Use a loop to render cardsPLUGIN
Using Math.random() and Math.floor() to create a dicePLUGIN
Completing our dice functionPLUGIN
Make getRandomCard() workPLUGIN
Complete getRandomNumber functionPLUGIN
Assign values in the startGame functionPLUGIN
PLUGIN
Create your first objectPLUGIN
Use an object to store player dataPLUGIN
Methods on objectPLUGIN
Render the leads in the unordered listPLUGIN
How to render <li> elements with innerHTMLPLUGIN
Write your first innerHTMLPLUGIN
More innerHTML practicePLUGIN
Render the <li> elements with innerHTMLPLUGIN
Use createElement() and append() instead of innerHTMLPLUGIN
Improving the performance of our appPLUGIN
PLUGIN
Refactor the app to use a template stringPLUGIN
Style the listPLUGIN
Preparing the deploymentPLUGIN
Deploying the Chrome ExtensionPLUGIN
What is localStorage?PLUGIN
Your first localStoragePLUGIN
Storing arrays in localStoragePLUGIN
Save the leads to localStoragePLUGIN
Get the leads from localStoragePLUGIN
Write your first function parameterPLUGIN
Functions with multiple parametersPLUGIN
Numbers as function parametersPLUGIN
PLUGIN
Deploy the final versionPLUGIN
Aside: FaviconPLUGIN
Adding favicon and phone iconsPLUGIN