Существует множество ресурсов, где можно найти практические задачи на JavaScript. Некоторые из них включают:
1. CodeWars (www.codewars.com): Это сайт с задачами на различные языки программирования, включая JavaScript. Здесь вы можете найти задачи на разные уровни сложности, начиная от начинающих до продвинутых.
2. LeetCode (www.leetcode.com): Этот сайт предлагает задачи по алгоритмам и структурам данных, также с возможностью решения на JavaScript. Многие задачи здесь моделируют реальные сценарии, часто встречающиеся в производственных средах.
3. HackerRank (www.hackerrank.com): Этот сайт предлагает широкий спектр задач на разные языки программирования, включая JavaScript. Здесь вы можете найти практические задачи, связанные с frontend-разработкой и другими аспектами программирования.
Относительно основных методов и техник работы со строками, массивами, объектами, функциями, классами, DOM, BOM, event и т.д., которые следует изучить, чтобы стать более компетентным во frontend-разработке, вот некоторые из них:
1. Работа со строками: методы для работы с текстовыми данными, такие как `split()`, `join()`, `slice()`, `substring()`, `replace()`, `match()`, `search()` и другие.
2. Работа с массивами: методы для работы с массивами, такие как `push()`, `pop()`, `shift()`, `unshift()`, `splice()`, `slice()`, `concat()`, `join()`, `indexOf()`, `forEach()`, `map()` и другие.
3. Работа с объектами: работа с объектами, их методы и свойства, копирование и перебор объектов, создание прототипов и изучение основ ООП.
4. Работа с функциями: функции как основные элементы JavaScript, их определение и вызов, использование аргументов и возврат значений, замыкания, рекурсия и другие концепции.
5. Работа с классами: изучение синтаксиса ES6 для создания классов и использования наследования, а также методы классов, статические свойства и методы.
6. Работа с DOM: работа с объектной моделью документа (DOM), изменение содержимого страницы, добавление и удаление элементов, обработка событий и работа с атрибутами элементов.
7. Работа с BOM: работа с объектной моделью браузера (BOM), такая как работа с историей браузера, управление вкладками и окнами, валидация форм и другое.
8. Работа с событиями: обработка событий, таких как клики, наведение мыши, загрузка страницы, изменение размера окна, прокрутка и другие.
Изучение этих методов и техник поможет вам стать более компетентным во frontend-разработке и улучшит вашу способность решать практические задачи на JavaScript.