Сделайте функцию которая возвращает квадрат числа число передается параметром
Передача функций параметрами в JavaScript
Функции, подобно числам, строкам и массивам, могут передаваться параметрами в другие функции.
Код, приведенный выше, пока не рабочий, так как мы не создали саму функцию. Сделаем это:
А можем передать функции:
Как вы видите, теперь алерт выводит исходный код функций. Давайте сделаем так, чтобы он выводил их результаты. Для этого напишем функциям круглые скобки:
Давайте выведем на экран сумму результатов первой и второй функции:
Именованные функции
Функции, которые передаются параметрами, не обязательно должны быть анонимными.
Передадим в параметры функции test имена функций get1 и get2 (то есть их исходный код, а не результат):
Переделаем на Function Expression:
Модифицируйте предыдущую задачу так, чтобы функции были объявлены как Function Expression с теми же именами.
Параметры передаваемых функций
Пусть переданная функция func параметром принимает число и что-то с ним делает. Передадим ей, например, число 3 :
Оформим код более изящно:
Передадим и число параметром
Воспользуемся нашей функцией:
Мы можем, к примеру, вторым параметром функции test передать функцию, возводящую в квадрат, а можем, к примеру, возводящую в куб:
Пусть функция test возвращает сумму результатов переданных функций:
Применение
Применим нашу функцию к какому-нибудь массиву:
Оформим вызов нашей функции изящнее (так более принято):
Не подсматривая в мой код реализуйте такую же функцию test самостоятельно.
Сделайте функцию которая возвращает квадрат числа число передается параметром
Лекция №6 по JavaScript. Классная работа
1.Выведите на экран текущий день.
var date = new Date();
document.write(date.getDate());
2.Выведите на экран текущий месяц.
var date = new Date();
document.write(date.getMonth()+1);
3.Выведите на экран текущий год.
var date = new Date();
document.write(date.getFullYear());
4.Выведите на экран текущую дату-время в формате ’12:59:59 31.12.2014′.
var date = new Date();
document.write(date.getHours() + ‘:’ + zero(date.getMinutes()) + ‘:’ + zero(date.getSeconds()) + ‘ ‘ + zero(date.getDate()) + ‘.’ + zero(date.getMonth()+1) + ‘.’ + date.getFullYear());
16.Выведите на экран количество секунд с начала дня до настоящего момента времени. Скрипт должен корректно работать в любой день.
17.Выведите на экран количество секунд, которое осталось до конца дня.
18. Узнайте, какой день недели был 7-го января 2015 года.
var days = [‘воскресение’, ‘понедельник’, ‘вторник’, ‘среда’, ‘четверг’, ‘пятница’, ‘суббота’];
var date = new Date(2015,0,7);
document.write(days[date.getDay()]);
Лекция №6 по JavaScript. Домашняя работа
1.Даны 3 переменные: день, месяц и год. В них хранятся какие-то значения, соответствующие определенной дате. Узнайте, какой день недели был или будет в эту дату.
var date = new Date();
var days = [‘воскресение’, ‘понедельник’, ‘вторник’, ‘среда’, ‘четверг’, ‘пятница’, ‘суббота’];
var year = parseInt(prompt(‘Введите год’));
var month = parseInt(prompt(‘Введите месяц’));
var day = parseInt(prompt(‘Введите число’));
var thatDay = new Date(year,(month-1),day);
document.write(days[thatDay.getDay()]);
2.Узнайте, какой день недели будет 31 декабря текущего года. Скрипт должен работать с любом году.
var date = new Date();
var days = [‘воскресение’, ‘понедельник’, ‘вторник’, ‘среда’, ‘четверг’, ‘пятница’, ‘суббота’];
var nyDate = new Date(date.getFullYear(),11,31,0,0,0);
document.write(‘В нынешнем году 31 декабря будет в ‘ + days[nyDate.getDay()]);
3.Найдите разницу в миллисекундах между полночью 15 февраля 2016 года и текущим моментом времени. Переведите эту разницу в миллисекундах в дни, а затем в месяцы.
4.Узнайте, сколько дней осталось до нового года. Скрипт должен работать с любом году.
5.Даны две переменные с датами, например, ‘2015-12-31’ и ‘2017-10-15’. Найдите разницу в днях между этими двумя датами.
Сделайте функцию которая возвращает квадрат числа число передается параметром
Урок № 6 Работа с математическими функциями
__________________________________________________________________________________________________________________
function isdiv(a, b) <
if (a % b === 0)
alert(‘Делится ‘ + a % b);
else
alert(‘Делится с остатком ‘ + a / b);
>
3. Возведите 2 в 10 степень. Результат запишите в переменную st.
4. Найдите квадратный корень из 245
5. Дан массив с элементами 4, 2, 5, 19, 13, 0, 10. Найдите квадратный корень из суммы кубов его элементов. Для решения воспользуйтесь циклом for.
11. Даны переменные a и b. Найдите найдите модуль разности a и b. Проверьте работу скрипта самостоятельно для различных a и b.
function test() <
let arr = [];
// Создаем массив случайного размера ([1, 100) % 2 == 0) и заполняем числами [1, 1000)
12. Даны переменные a и b. Отнимите от a переменную b и результат присвойте переменной c. Сделайте так, чтобы в любом случае в переменную c записалось положительное значение. Проверьте работу скрипта при a и b, равных соответственно 3 и 5, 6 и 1.
13. Дан массив arr. Найдите среднее арифметическое его элементов. Проверьте задачу на массиве с элементами 12, 15, 20, 25, 59, 79.
let arr = [12, 15, 20, 25, 59, 79];
function avrg(arr) <
let sum = 0;
for (let i = 0; i
function fctrl(num) <
let res = 1;
while (num > 0)
res *= num—;
return res;
>
let num = Math.floor((Math.random() * 9) + 1);
document.write(num + ‘! = ‘ + fctrlRecursive(num, 1) + ‘ ‘);
document.write(num + ‘! = ‘ + fctrl(num, 1));
Урок № 7 Работа со строками
1. Дана строка ‘js’. Сделайте из нее строку ‘JS’
let str = ‘js’;
str = str.toUpperCase();
2. Дана строка ‘JS’. Сделайте из нее строку ‘js’.
let str = ‘js’;
str = str.toLowerCase();
3. Дана строка ‘я учу javascript!’. Найдите количество символов в этой строке.
let str = ‘я учу javascript!’;
alert(str.length);
4. Дана строка ‘я учу javascript!’. Вырежьте из нее слово ‘учу’ и слово ‘javascript’ тремя разными способами (через substr, substring, slice).
5. Дана строка ‘я учу javascript!’. Найдите позицию подстроки ‘учу’.
let str = ‘я учу javascript!’;
alert(str.indexOf(‘учу’));
6. Дана переменная str, в которой хранится какой-либо текст. Реализуйте обрезание длинного текста по следующему принципу: если количество символов этого текста больше заданного в переменной n, то в переменную result запишем первые n символов строки str и добавим в конец троеточие ‘. ‘. В противном случае в переменную result запишем содержимое переменной str.
function slicer(str, n) <
let result;
result = str.slice(0, n);
if (str.length > n)
result += ‘. ‘;
return result;
>
alert(slicer(‘учу javascript’, 3));
7. Дана строка ‘Я-учу-javascript!’. Замените все дефисы на ‘!’ с помощью глобального поиска и замены.
let str = ‘Я-учу-javascript!’;
alert(str.replace(/-/g, ‘!’ ));
8. Дана строка ‘я учу javascript!’. С помощью метода split запишите каждое слово этой строки в отдельный элемент массива.
let str = ‘я учу javascript!’;
alert(str.split(‘ ‘));
9. Дана строка ‘я учу javascript!’. С помощью метода split запишите каждый символ этой строки в отдельный элемент массива.
let str = ‘я учу javascript!’;
alert(str.split(»));
10. В переменной date лежит дата в формате ‘2025-12-31’. Преобразуйте эту дату в формат ‘31.12.2025’
let date = ‘2025-12-31’
date = date.split(‘-‘).reverse().join(‘.’);
alert (date);
11. Дан массив [‘я’, ‘учу’, ‘javascript’, ‘!’]. С помощью метода join преобразуйте массив в строку ‘я+учу+javascript+!’.
let arr = [‘я’, ‘учу’, ‘javascript’, ‘!’];
arr = arr.join(‘+’);
alert(arr);
12. Преобразуйте первую букву строки в верхний регистр.
let str = ‘hello world!’
str = str.substr(0, 1).toUpperCase() + str.substring(1);
alert(str);
13. Преобразуйте первую букву каждого слова строки в верхний регистр.
Сделайте функцию которая возвращает квадрат числа число передается параметром
Правильное использование пользовательских функций
Практика на работу с пользовательскими функциями
Дана строка. Сделайте заглавным первый символ каждого слова этой строки. Для этого сделайте вспомогательную функцию ucfirst, которая будет получать строку, делать первый символ этой строки заглавным и возвращать обратно строку с заглавной первой буквой.
var str = ‘suck my dick’;
var arr = str.split(‘ ‘);
var newArr = [];
for(var i = 0; i Нравится Показать список оценивших
Работа с рекурсией
Дан массив с числами. Выведите последовательно его элементы используя рекурсию и не используя цикл.
function func(arr) <
alert(arr[0]);
arr.splice(0,1);
if(arr.length > 0) <
func(arr);
>
>
func(arr);
Дано число. Сложите его цифры. Если сумма получилась более 9-ти, опять сложите его цифры. И так, пока сумма не станет однозначным числом (9 и менее)
var num = 123456789;
function func(num) <
var arr = String(num).split(»);
var sum = 0;
for(var i = 0; i 9) <
sum = func(sum);
>
return sum;
>
Сделайте функцию которая возвращает квадрат числа число передается параметром
1. Запустите приведенный выше код у себя и убедитесь в том, что алерт выводит исходный код функции.
2. Попробуйте вывести алертом исходный код какой-нибудь встроенной в JavaScript функции, например, substr. Посмотрите, что будет.
3. Сделайте функцию func, которая будет возвращать через return какую-либо строку.
4. Выведите результат работы функции func алертом на экран.
5. Выведите исходный код функции func алертом на экран.
6. Запишите в переменную func число 123, тем самым затерев функцию из этой переменной. Выведите новое значение переменной func на экран.
func = 123;
alert(func);
7. Сделайте функцию func1, которая будет возвращать через return число 3.
function func1() <
return 3;
>
8. Скопируйте исходный код функции func1, в переменную func2.
function func1() <
return 3;
>
9. Выведите на экран сумму результатов работы функций func1 и func2.
function func1() <
return 3;
>
let func2 = func1;
console.log(func1() + func2());
10. Сделайте безымянную функцию, которая будет возвращать через return число 1. Запишите эту функцию в переменную func1.
11. Сделайте безымянную функцию, которая будет возвращать через return число 2. Запишите эту функцию в переменную func2.
let func1 = () => 1;
let func2 = () => 2;
12. Найдите сумму значений функций func1 и func2. Выведите эту сумму алертом на экран.
let func1 = () => 1;
let func2 = () => 2;
alert(func1() + func2());
13. Определите, является ли представленная функция Function Declaration или Function Expression:
14. Определите, является ли представленная функция Function Declaration или Function Expression:
let func = function() <
alert(‘!’);
>
15. Создайте функцию как Function Declaration. Проверьте то, что она будет доступна выше места своего объявления.
16. Создайте функцию как Function Expression. Проверьте то, что она не будет доступна выше места своего объявления.
17. Расставьте точки с запятой во всех необходимых местах:
let func1 = function()
let func2 = function() <
alert(‘!’);
>;
function func3() <
alert(‘!’);
>
18. Определите, является ли представленная функция Function Declaration или Function Expression:
19. Определите, является ли представленная функция Function Declaration или Function Expression:
let func = function() <
alert(‘!’);
>
20. Определите, является ли представленная функция Function Declaration или Function Expression:
21. Определите, является ли представленная функция Function Declaration или Function Expression:
22. Определите, является ли представленная функция Function Declaration или Function Expression:
23. Определите, является ли представленная функция Function Declaration или Function Expression:
24. Определите, является ли представленная функция Function Declaration или Function Expression:
25. Определите, является ли представленная функция Function Declaration или Function Expression:
27. Определите, является ли представленная функция Function Declaration или Function Expression:
28. Определите, является ли представленная функция Function Declaration или Function Expression:
29. Определите, является ли представленная функция Function Declaration или Function Expression:
30. Определите, является ли представленная функция Function Declaration или Function Expression:
31. Определите, является ли представленная функция Function Declaration или Function Expression:
32. Дан инпут. Сделайте так, чтобы по потери фокуса на экран выводилось value этого инпута. При решении задачи используйте изученную теорию.
function test() <
alert(this.value);
>
33. Даны абзацы. Переберите их циклом. В этом цикле каждому абзацу привяжите функцию, которая будет срабатывать по клику на абзац. Пусть эта функция выводит текст того абзаца, на котором произошел клик.
function text() <
alert(this.innerHTML);
>
34. Дан инпут. Сделайте так, чтобы по потери фокуса на экран выводилось value этого инпута. При решении задачи используйте изученную теорию.
35. Даны ссылки. Сделайте так, чтобы по клику на любую ссылку ей в конец ее текста записывался ее href.
document.querySelectorAll(‘a’).forEach(elem => elem.addEventListener(‘click’, function(event) <
event.preventDefault();
this.innerHTML += this.getAttribute(‘href’);
>));
36. Дан абзац, в котором записано какое-то целое число. Запустите таймер, который каждую секунду будет увеличивать содержимое абзаца на единицу.
let p = document.querySelector(‘p’);
setInterval(() => p.innerHTML++, 1000);
38. Используя созданный вами массив arr выведите на экран число 3, вызвав соответствующую функцию.
39. Используя созданный вами массив arr найдите сумму результатов функций (без цикла).
let array = [
() => 1,
() => 2,
() => 3
];
let sum = 0;
array.forEach(elem => sum += elem());
alert(sum);
40, Переберите созданный вами массив arr циклом и выведите результаты работы всех функций на экран.
let array = [
() => 1,
() => 2,
() => 3
];
array.forEach(elem => alert(elem()));
let obj = <
func1: () => 1,
func2: () => 2,
func3: () => 3
>;
let sum = 0;
for (let key in obj)
sum += objСделайте функцию которая возвращает квадрат числа число передается параметром();
alert(sum);
42. Переберите созданный объект циклом и выведите результаты работы функций на экран.
let obj = <
func1: () => 1,
func2: () => 2,
func3: () => 3
>;
for (let key in obj)
alert(objСделайте функцию которая возвращает квадрат числа число передается параметром());
‘use strict’;
let obj = <
sum: array => quare(array),
sumQuare: array => quare(array, 2),
sumCube: array => quare(array, 3)
>;
function quare(array, pow = 1) <
let result = 0;
array.forEach(elem => result += Math.pow(elem, pow));
return result;
>
console.log(obj[‘sum’]([2, 1, 3]));
console.log(obj[‘sumQuare’]([2, 1, 3]));
console.log(obj[‘sumCube’]([2, 1, 3]));
function test(func1, func2, func3) <
return func1() + func2() + func3();
>
alert(test(array[0], array[1], array[2]));
45. Сделайте функцию test, параметрами принимающую 3 функции и возвращающую сумму результатов переданных функций.
Решение подходит из предыдущей (44) задачи.
function func1() <
return 1;
>
function func2() <
return 2;
>
function func3() <
return 3;
>
function test(func1, func2, func3) <
return func1() + func2() + func3();
>
alert(test(func1, func2, func3));
47. Модифицируйте предыдущую задачу так, чтобы функции были объявлены как Function Expression с теми же именами.
let func1 = function func1() <
return 1;
>
let func2 = function func2() <
return 2;
>
let func3 = function func3() <
return 3;
>
function test(func1, func2, func3) <
return func1() + func2() + func3();
>
alert(test(func1, func2, func3));
48. Скопируйте код моей функции test. Вызовите эту функцию, передав ей параметром анонимную функцию, которая параметром будет принимать число и возвращать его куб.
function test(func) <
alert(func(3));
>
test(num => Math.pow(num, 2));
49. Переделайте ваш код так, чтобы передаваемая функция была не анонимной, а была определена как Function Declaration с именем func.
function test(func) <
alert(func(3));
>