Немного вопросов, которые могут появиться на собесе
1. В чем разница между декларацией функции (function declaration) и функциональным выражением (function expression)?
2. Что такое анонимная функция?
3. Расскажите о стрелочных функциях (arrow function). Чем стрелочные функции отличаются от обычных?
4. Что такое и для чего используют IIFE (Immediately Invoked Function Expression)?
5. Что такое hoisting, как он работает для переменных и функций?
6. Что такое замыкание (closure) и каковы сценарии его использования?
1. В чем разница между декларацией функции (function declaration) и функциональным выражением (function expression)?
2. Что такое анонимная функция?
3. Расскажите о стрелочных функциях (arrow function). Чем стрелочные функции отличаются от обычных?
4. Что такое и для чего используют IIFE (Immediately Invoked Function Expression)?
5. Что такое hoisting, как он работает для переменных и функций?
6. Что такое замыкание (closure) и каковы сценарии его использования?
Пора делать задачу)
Напишите функцию JavaScript, чтобы получить разницу во времени в минутах между двумя датами.
Тестовые данные :
dt1 = новая дата («13 октября 2014 г., 11:11:00»);
dt2 = новая дата («13 октября 2014 г., 11:13:00»);
console.log (diff_minutes (dt1, dt2));
2
P.s Как вы думаете, где это используется?
Напишите функцию JavaScript, чтобы получить разницу во времени в минутах между двумя датами.
Тестовые данные :
dt1 = новая дата («13 октября 2014 г., 11:11:00»);
dt2 = новая дата («13 октября 2014 г., 11:13:00»);
console.log (diff_minutes (dt1, dt2));
2
P.s Как вы думаете, где это используется?
Привет! Пора решать задачу!
Напишите функцию JavaScript для объединения данной строки n раз (по умолчанию 1).
Тестовые данные :
console.log (повтор ( 'Ха!'));
console.log (повтор ( 'Ха!', 2));
console.log (повтор ( 'Ха!', 3));
«Ха!»
«Ха! Ха!»
«Ха! Ха! Ха!»
Решение:
repeat = function repeat(str, count) {
if(typeof(count) =="undefined") {
count =1;
}
return count < 1 ? '' : new Array(count + 1).join(str);
}
console.log(repeat('Ha!'));
console.log(repeat('Ha!',2));
console.log(repeat('Ha!',3));
Ответ:
Ха!
Ха! Ха!
Ха! Ха! Ха!
Напишите функцию JavaScript для объединения данной строки n раз (по умолчанию 1).
Тестовые данные :
console.log (повтор ( 'Ха!'));
console.log (повтор ( 'Ха!', 2));
console.log (повтор ( 'Ха!', 3));
«Ха!»
«Ха! Ха!»
«Ха! Ха! Ха!»
Решение:
if(typeof(count) =="undefined") {
count =1;
}
return count < 1 ? '' : new Array(count + 1).join(str);
}
console.log(repeat('Ha!'));
console.log(repeat('Ha!',2));
console.log(repeat('Ha!',3));
Ха! Ха!
Ха! Ха! Ха!
Совет дня:
Редактирование полей комментариев с помощью id плохая затея)
Редактирование полей комментариев с помощью id плохая затея)
Хай, сегодня пятница, а это значит, что уже скоро выходные)
Напиши функцию map(fn, array), которая принимает на вход функцию и массив, и обрабатывает каждый элемент массива этой функцией, возвращая новый массив. Пример:
function square(x) { return x * x; } // возведение в квадрат
console.log(map(square, [1, 2, 3, 4])); // [1, 4, 9, 16]
console.log(map(square, [])); // []
Обрати внимание: функция не должна изменять переданный ей массив:
var arr = [1, 2, 3];
console.log(map(square, arr)); // [1, 4, 9]
console.log(arr); // [1, 2, 3]
Это аналог array_map из PHP.
Напиши функцию map(fn, array), которая принимает на вход функцию и массив, и обрабатывает каждый элемент массива этой функцией, возвращая новый массив. Пример:
function square(x) { return x * x; } // возведение в квадрат
console.log(map(square, [1, 2, 3, 4])); // [1, 4, 9, 16]
console.log(map(square, [])); // []
Обрати внимание: функция не должна изменять переданный ей массив:
var arr = [1, 2, 3];
console.log(map(square, arr)); // [1, 4, 9]
console.log(arr); // [1, 2, 3]
Это аналог array_map из PHP.
Хай! Пора решить ещё одну задачку)
Сегодня у нас будет задача "Замена регистра символов"
Пользователь вводит строку кириллицей разного регистра. Напишите функцию, которая принимает строку в качестве аргумента и заменяет регистр каждого символа на противоположный. Например, если вводится «КаЖдЫй ОхОтНиК», то на выходе должен быть массив [кАжДыЙ оХоТнИк].
const str = prompt('Введите слово', 'КаЖдЫй ОхОтНиК');
function changeRegister (str) {
// Ваш код
}
document.writeln(changeRegister(str)); // [кАжДыЙ оХоТнИк]
Сегодня у нас будет задача "Замена регистра символов"
Пользователь вводит строку кириллицей разного регистра. Напишите функцию, которая принимает строку в качестве аргумента и заменяет регистр каждого символа на противоположный. Например, если вводится «КаЖдЫй ОхОтНиК», то на выходе должен быть массив [кАжДыЙ оХоТнИк].
const str = prompt('Введите слово', 'КаЖдЫй ОхОтНиК');
function changeRegister (str) {
// Ваш код
}
document.writeln(changeRegister(str)); // [кАжДыЙ оХоТнИк]
Задачка для слайдера:
Даны картинки. По первому нажатию на любую картинку увеличьте ее в 2 раза. По второму нажатию -
уменьшите обратно.
Даны картинки. По первому нажатию на любую картинку увеличьте ее в 2 раза. По второму нажатию -
уменьшите обратно.
Что можно сделать с JS
1. Разработка игрового движка на JavaScript, который занимается генерацией мира, анимациями, физикой и обработкой пользовательского ввода.
2. Создание алгоритма машинного обучения на JavaScript, который на основе заданных примеров будет классифицировать новые данные.
3. Разработка приложения для анализа текстов на JavaScript, включающего в себя обработку естественного языка, выделение ключевых слов и синтаксический анализ.
4. Реализация системы управления контентом на JavaScript для управления сайтом или приложением с помощью административной панели и API.
5. Создание игры на JavaScript, которая будет использовать 3D-графику, звуковые эффекты и геймплей, требующий сложных вычислений.
6. Разработка платформы для организации онлайн-курсов на JavaScript, включающую в себя возможности для создания, обновления и распространения уроков, тестов и статистических отчетов.
7. Реализация инструмента на js для создания интерактивных диаграмм и графиков с помощью библиотек визуализации данных.
1. Разработка игрового движка на JavaScript, который занимается генерацией мира, анимациями, физикой и обработкой пользовательского ввода.
2. Создание алгоритма машинного обучения на JavaScript, который на основе заданных примеров будет классифицировать новые данные.
3. Разработка приложения для анализа текстов на JavaScript, включающего в себя обработку естественного языка, выделение ключевых слов и синтаксический анализ.
4. Реализация системы управления контентом на JavaScript для управления сайтом или приложением с помощью административной панели и API.
5. Создание игры на JavaScript, которая будет использовать 3D-графику, звуковые эффекты и геймплей, требующий сложных вычислений.
6. Разработка платформы для организации онлайн-курсов на JavaScript, включающую в себя возможности для создания, обновления и распространения уроков, тестов и статистических отчетов.
7. Реализация инструмента на js для создания интерактивных диаграмм и графиков с помощью библиотек визуализации данных.