{"id":16852854,"url":"https://github.com/avdeev/js-courses","last_synced_at":"2025-07-09T17:05:25.476Z","repository":{"id":81536484,"uuid":"57279909","full_name":"avdeev/js-courses","owner":"avdeev","description":"Задания для курсов по JS в НИИТ в Мере в Нижнем Новгороде","archived":false,"fork":false,"pushed_at":"2016-05-26T16:54:35.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T10:17:10.910Z","etag":null,"topics":["courses","excercises","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avdeev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-28T07:21:35.000Z","updated_at":"2017-12-29T13:06:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"53cd90ab-2899-4972-b94e-83f92031ddff","html_url":"https://github.com/avdeev/js-courses","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/avdeev/js-courses","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avdeev%2Fjs-courses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avdeev%2Fjs-courses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avdeev%2Fjs-courses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avdeev%2Fjs-courses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avdeev","download_url":"https://codeload.github.com/avdeev/js-courses/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avdeev%2Fjs-courses/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264502121,"owners_count":23618554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["courses","excercises","javascript"],"created_at":"2024-10-13T13:48:54.238Z","updated_at":"2025-07-09T17:05:25.409Z","avatar_url":"https://github.com/avdeev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WEB: Базовый курс Javascript\n\n## Тест 1. Числа, строки, ветвления, циклы\n\n```js\n// вычислить сумму всех натуральных от 1 до n\nfunction sumToN(n) { ... }\n\n// вычислить сумму всех целых чисел от m до n\nfunction sumFromMToN(m, n) { ... }\n\n// вычислить n-е число Фибоначчи\nfunction fib(n) { ... }\n\n// вычислить n!\nfunction factorial(n) { ... }\n\n// вычислить x в степени n\nfunction pow(x, n) { ... }\n\n// перевернуть строку s\nfunction reverse(s) { ... }\n\n// вычислить n-е простое число\nfunction simple(n) { ... }\n```\n\n## Тест 2. Массивы, объекты, работа с датой\n\n```js\n// вычислить сумму всех элементов массива\nfunction calcArraySum(arr) { ... }\n\n// вернуть новый массив, состоящий только их чётных элементов\nfunction getEvenElements(arr) { ... }\n\n// вычислить количество свойств объекта\nfunction getLength(obj) { ... }\n\n// вычислить день недели в указанную дату\nfunction getDayOfWeek(year, month, day) { ... }\n```\n\n## Тест 3. Область видимость, замыкания\n\n```js\n// получить функцию, которая считает, сколько раз она вызывается\n// var counter = getCounter()\n// counter() - вернёт 1\n// counter() - вернёт 2\nfunction getCounter() { ... }\n\n// multiplex(4)(5) --\u003e 20\nfunction multiplex() { ... }\n\n// получить функцию, которая умеет здороваться и прощаться с определённым человеком\n// hello = getHellower(\"Вася\")\n// hello() - вернёт \"Привет, Вася\"\n// hello() - вернёт \"Уже здоровались\"\n// hello() - вернёт \"Пока, Вася\"\nfunction getHellower() { ... }\n```\n\n## Задание 4\n\nНаписать калькулятор на JS\n\nПримеры:\nhttps://jsfiddle.net/katyka/tao0jwb4/1/\n\n\n## Задание 5\n\nНаписать игру на JS + Canvas\n\nПримеры:\nhttps://jsfiddle.net/bg1zr001/\n\n## Задание 6\n\nСделать слайдер\n\n## Задание 7\n\nСделать выпадающий список\n\n## Зачётное задание\n\n1.\nНаписать реализацию функции\n```js\n// получить среднее арифметическое значение a и b\nfunction getAverage(a, b) { ... }\n```\n\n2.\nНаписать реализацию функции\n```js\n// написать все слова в строке s в обратном порядке\nfunction getReverseByWords(s) { ... }\n```\n\n3.\nНаписать реализацию функции\n```js\n// получить среднее арифметическое значение всех аргументов функции\nfunction getAverageMany(a, b, c...) { ... }\n```\n\n4.\nНаписать реализацию функции\n```js\n// вернуть из массива arr новый массив состоящий только из чисел лежащих между a и b\nfunction getFilterRange(arr, a, b) { ... }\n```\n\n5.\nНаписать реализацию функции\n```js\n// вернуть true, если объект пуст, иначе - false\nfunction isEmpty(obj) { ... }\n```\n\n6.\nНаписать реализацию функции\n```js\n// вернуть объект, у которого есть методы sayColor и saySize\n// Пример:\n// var apple = getApple('красный', 'большое');\n// apple.sayColor() -\u003e 'мой цвет - красный'\n// apple.saySize() -\u003e 'мой размер - большое'\nfunction getApple(color, size) { ... }\n```\n\n7.\nРеализовать раскрытие блока на полную высоту по клику на кнопку\n\n```html\n\u003cdiv style=\"width:300px;height:200px; padding: 0;overflow: auto; border:1px solid black;\"\u003e\n  текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст\n\u003c/div\u003e\n\u003cbutton\u003eРаскрыть\u003c/button\u003e\n```\n\n8.\nНаписать код, который для каждого узла списка выводит его заголовок и количество вложенных узлов\n```html\n\u003cul\u003e\n  \u003cli\u003eЖивотные\n    \u003cul\u003e\n      \u003cli\u003eМлекопитающие\n        \u003cul\u003e\n          \u003cli\u003eКоровы\u003c/li\u003e\n          \u003cli\u003eОслы\u003c/li\u003e\n          \u003cli\u003eСобаки\u003c/li\u003e\n          \u003cli\u003eТигры\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n      \u003cli\u003eДругие\n        \u003cul\u003e\n          \u003cli\u003eЗмеи\u003c/li\u003e\n          \u003cli\u003eПтицы\u003c/li\u003e\n          \u003cli\u003eЯщерицы\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n  \u003cli\u003eРыбы\n    \u003cul\u003e\n      \u003cli\u003eАквариумные\n        \u003cul\u003e\n          \u003cli\u003eГуппи\u003c/li\u003e\n          \u003cli\u003eСкалярии\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n      \u003cli\u003eМорские\n        \u003cul\u003e\n          \u003cli\u003eМорская форель\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n```\n\n9.\nРеализовать выпадающие списки. При клике на родителя вложенный список скрывается, заголовок подсвечивается.\nПри клике на подсвеченный заголовок вложенный список раскрывается обратно\n\n```html\n\u003cul class=\"tree\"\u003e\n  \u003cli\u003eЖивотные\n    \u003cul\u003e\n      \u003cli\u003eМлекопитающие\n        \u003cul\u003e\n          \u003cli\u003eКоровы\u003c/li\u003e\n          \u003cli\u003eОслы\u003c/li\u003e\n          \u003cli\u003eСобаки\u003c/li\u003e\n          \u003cli\u003eТигры\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n      \u003cli\u003eДругие\n        \u003cul\u003e\n          \u003cli\u003eЗмеи\u003c/li\u003e\n          \u003cli\u003eПтицы\u003c/li\u003e\n          \u003cli\u003eЯщерицы\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n  \u003cli\u003eРыбы\n    \u003cul\u003e\n      \u003cli\u003eАквариумные\n        \u003cul\u003e\n          \u003cli\u003eГуппи\u003c/li\u003e\n          \u003cli\u003eСкалярии\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n      \u003cli\u003eМорские\n        \u003cul\u003e\n          \u003cli\u003eМорская форель\u003c/li\u003e\n        \u003c/ul\u003e\n      \u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n```\n\n10.\nРеализовать сортировку строк таблицы по клику на заголовок.\n\n```html\n  \u003ctable\u003e\n    \u003cthead\u003e\n      \u003ctr\u003e\n        \u003cth\u003eВозраст\u003c/th\u003e\n        \u003cth\u003eИмя\u003c/th\u003e\n      \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e5\u003c/td\u003e\n        \u003ctd\u003eВася\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e2\u003c/td\u003e\n        \u003ctd\u003eПетя\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e12\u003c/td\u003e\n        \u003ctd\u003eЖеня\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e9\u003c/td\u003e\n        \u003ctd\u003eМаша\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e1\u003c/td\u003e\n        \u003ctd\u003eИлья\u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/tbody\u003e\n  \u003c/table\u003e\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favdeev%2Fjs-courses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favdeev%2Fjs-courses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favdeev%2Fjs-courses/lists"}