|
@@ -0,0 +1,168 @@
|
|
|
+//ДЗ: Функции и области видимости
|
|
|
+//Анализ
|
|
|
+//Проанализируйте свои предыдущие ДЗ на предмет повторяющихся действий и придумайте названия,
|
|
|
+//параметры и возвращаемое значение для функций в этих случаях
|
|
|
+//Напишите функцию 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()
|