123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- //ДЗ: Функции и области видимости
- //Анализ
- //Проанализируйте свои предыдущие ДЗ на предмет повторяющихся действий и придумайте названия,
- //параметры и возвращаемое значение для функций в этих случаях
- //Напишите функцию a, которая просто является коротким именем для alert. Смотрите пример
- //с d(), которая является коротким именем для debugger из материала лекции
- function greetings(greetings) {
- alert(greetings);
- }
- // greetings("Привет!") // вызывает alert("Привет!")
- //cube
- function cube(number) {
- return Math.pow(number, 3);
- }
- // console.log(cube(2))
- //avg2
- //Напишите функцию avg2, которая рассчитывает среднюю для двух чисел:
- //формула для подсчета среднего: (a + b) / 2
- //напишите функцию тут
- //avg2(1,2) // возвращает 1.5
- //avg2(10,5) // возвращает 7.5
- var avgOfTwo = function (a, b) { return (a + b) / 2; };
- // console.log(avgOfTwo(1,2))
- // console.log(avgOfTwo(10,5))
- //sum3
- //Напишите функцию sum3 для суммирования 3 чисел:
- //Обратите внимание, что sum3 от двух параметров тоже работает корректно.
- //sum3(1,2,3) // => 6
- //sum3(5,10,100500) // => 100515
- //sum3(5,10) // => 15
- var sumThree = function (a, b, c) {
- if (a === void 0) { a = 0; }
- if (b === void 0) { b = 0; }
- if (c === void 0) { c = 0; }
- return (a + b + c);
- };
- // console.log(sumThree(1,2,3))
- // console.log(sumThree(5,10,100500))
- // console.log(sumThree(5, 10))
- //intRandom
- //Напишите функцию intRandom, которая принимает два параметра: нижнюю и верхнюю границу, и возвращает целое
- //случайное число из этого диапазона включительно:
- //Обратите внимание, что если передан один параметр (intRandom(10) в примере выше), то функция работает
- //как будто первый параметр равен 0, а переданный параметр становится вторым параметром(intRandom(0, 10))
- //Используйте умножение для расширения значения встроенной функции Math.random c диапозона 1, сложениe для
- //смещения результата на первый параметр, и Math.round для округления результата
- //intRandom(2,15) // возвращает целое случайное число от 2 до 15 (включительно)
- //intRandom(-1,-1) // вернет -1
- //intRandom(0,1) // вернет 0 или 1
- //intRandom(10) // вернет 0 до 10 включительно
- var intRandom = function (min, max) {
- if (min === void 0) { min = 0; }
- return Math.round(Math.random() * ((max ? max : min) - (max ? min : 0)) + (max ? min : 0));
- };
- // console.log(intRandom(2,15))
- // console.log(intRandom(-1,-1))
- // console.log(intRandom(0,1))
- // console.log(intRandom(10))
- //greetAll
- //Сделайтей функцию, которая приветствует всех, кто передан в качестве параметров.
- //Вам поможет arguments и for
- //greetAll("Superman") // выводит alert "Hello Superman"
- //greetAll("Superman", "SpiderMan") // выводит alert "Hello Superman, SpiderMan"
- //greetAll("Superman", "SpiderMan", "Captain Obvious") // выводит alert "Hello Superman, SpiderMan, Captain Obvious"
- var greetAllDeclaration = function () {
- for (var _i = 0, arguments_1 = arguments; _i < arguments_1.length; _i++) {
- var arg = arguments_1[_i];
- console.log("Hello darling " + arg + " from function declaration");
- }
- };
- // greetAllDeclaration("Superman")
- // greetAllDeclaration("Superman", "SpiderMan")
- // greetAllDeclaration("Superman", "SpiderMan", "Captain Obvious")
- var greetAllArrow = function () {
- var argumentsArr = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- argumentsArr[_i] = arguments[_i];
- }
- for (var _a = 0, argumentsArr_1 = argumentsArr; _a < argumentsArr_1.length; _a++) {
- var arg = argumentsArr_1[_a];
- console.log("Hello darling " + arg + " from arro function");
- }
- };
- // greetAllArrow("Superman")
- // greetAllArrow("Superman", "SpiderMan")
- // greetAllArrow("Superman", "SpiderMan", "Captain Obvious")
- //sum
- //Напишите функцию sum, которая сумирует любое количество параметров: Используйте псевдомассив
- //arguments для получения всех параметров, и for для итерирования по нему
- //sum(1) // => 1
- //sum(2) // => 2
- //sum(10,20,40,100) // => 170
- var sumDeclaration = function () {
- var sum = 0;
- for (var _i = 0, arguments_2 = arguments; _i < arguments_2.length; _i++) {
- var arg = arguments_2[_i];
- sum += arg;
- }
- return sum;
- };
- // sumDeclaration(1)
- // sumDeclaration(2)
- // sumDeclaration(10,20,40,100)
- var sumArrow = function () {
- var argumentsArr = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- argumentsArr[_i] = arguments[_i];
- }
- var sum = 0;
- for (var _a = 0, argumentsArr_2 = argumentsArr; _a < argumentsArr_2.length; _a++) {
- var arg = argumentsArr_2[_a];
- sum += arg;
- }
- return sum;
- };
- // sumArrow(1)
- // sumArrow(2)
- // sumArrow(10,20,40,100)
- //Union
- //Всё предыдущие функции и примеры с ними объедините в функции, которые вызывайте в switch по имени задания:
- var eternalSample = function () {
- var sample = prompt("Введите название задания");
- !sample && eternalSample();
- switch (sample.toLowerCase()) {
- case "a":
- greetings('Gorge');
- break;
- case "cube":
- console.log(cube(2));
- break;
- case "avg2":
- console.log(avgOfTwo(1, 2));
- break;
- case "sum3":
- console.log(sumThree(1, 2, 3));
- break;
- case "intrandom":
- console.log(intRandom(2, 15));
- break;
- case "greetall":
- greetAllArrow("Superman", "SpiderMan");
- break;
- case "sum":
- console.log(sumArrow(10, 20, 40, 100));
- break;
- default: console.log('Whoopps');
- }
- eternalSample();
- };
- // eternalSample()
- //Union declarative
- //made it but withou invoking , belive me id works
- var associativeArr = new Map();
- associativeArr.set("a", greetings);
- associativeArr.set("cube", cube);
- associativeArr.set("avg2", avgOfTwo);
- associativeArr.set("sum3", sumThree);
- associativeArr.set("intrandom", intRandom);
- associativeArr.set("greetall", greetAllArrow);
- associativeArr.set("sum", sumArrow);
- var eternalSampleAssociativeArr = function () {
- var sample = prompt("Введите название задания");
- !sample && eternalSampleAssociativeArr();
- var getValue = associativeArr.get(sample.toLocaleLowerCase());
- getValue ? console.log(getValue) : console.log('Whoopps>Try again and writy more exat!');
- eternalSampleAssociativeArr();
- };
- // eternalSampleAssociativeArr()
|