homework.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. //ДЗ: Функции и области видимости
  2. //Анализ
  3. //Проанализируйте свои предыдущие ДЗ на предмет повторяющихся действий и придумайте названия,
  4. //параметры и возвращаемое значение для функций в этих случаях
  5. //Напишите функцию a, которая просто является коротким именем для alert. Смотрите пример
  6. //с d(), которая является коротким именем для debugger из материала лекции
  7. function greetings(greetings) {
  8. alert(greetings);
  9. }
  10. // greetings("Привет!") // вызывает alert("Привет!")
  11. //cube
  12. function cube(number) {
  13. return Math.pow(number, 3);
  14. }
  15. // console.log(cube(2))
  16. //avg2
  17. //Напишите функцию avg2, которая рассчитывает среднюю для двух чисел:
  18. //формула для подсчета среднего: (a + b) / 2
  19. //напишите функцию тут
  20. //avg2(1,2) // возвращает 1.5
  21. //avg2(10,5) // возвращает 7.5
  22. var avgOfTwo = function (a, b) { return (a + b) / 2; };
  23. // console.log(avgOfTwo(1,2))
  24. // console.log(avgOfTwo(10,5))
  25. //sum3
  26. //Напишите функцию sum3 для суммирования 3 чисел:
  27. //Обратите внимание, что sum3 от двух параметров тоже работает корректно.
  28. //sum3(1,2,3) // => 6
  29. //sum3(5,10,100500) // => 100515
  30. //sum3(5,10) // => 15
  31. var sumThree = function (a, b, c) {
  32. if (a === void 0) { a = 0; }
  33. if (b === void 0) { b = 0; }
  34. if (c === void 0) { c = 0; }
  35. return (a + b + c);
  36. };
  37. // console.log(sumThree(1,2,3))
  38. // console.log(sumThree(5,10,100500))
  39. // console.log(sumThree(5, 10))
  40. //intRandom
  41. //Напишите функцию intRandom, которая принимает два параметра: нижнюю и верхнюю границу, и возвращает целое
  42. //случайное число из этого диапазона включительно:
  43. //Обратите внимание, что если передан один параметр (intRandom(10) в примере выше), то функция работает
  44. //как будто первый параметр равен 0, а переданный параметр становится вторым параметром(intRandom(0, 10))
  45. //Используйте умножение для расширения значения встроенной функции Math.random c диапозона 1, сложениe для
  46. //смещения результата на первый параметр, и Math.round для округления результата
  47. //intRandom(2,15) // возвращает целое случайное число от 2 до 15 (включительно)
  48. //intRandom(-1,-1) // вернет -1
  49. //intRandom(0,1) // вернет 0 или 1
  50. //intRandom(10) // вернет 0 до 10 включительно
  51. var intRandom = function (min, max) {
  52. if (min === void 0) { min = 0; }
  53. return Math.round(Math.random() * ((max ? max : min) - (max ? min : 0)) + (max ? min : 0));
  54. };
  55. // console.log(intRandom(2,15))
  56. // console.log(intRandom(-1,-1))
  57. // console.log(intRandom(0,1))
  58. // console.log(intRandom(10))
  59. //greetAll
  60. //Сделайтей функцию, которая приветствует всех, кто передан в качестве параметров.
  61. //Вам поможет arguments и for
  62. //greetAll("Superman") // выводит alert "Hello Superman"
  63. //greetAll("Superman", "SpiderMan") // выводит alert "Hello Superman, SpiderMan"
  64. //greetAll("Superman", "SpiderMan", "Captain Obvious") // выводит alert "Hello Superman, SpiderMan, Captain Obvious"
  65. var greetAllDeclaration = function () {
  66. for (var _i = 0, arguments_1 = arguments; _i < arguments_1.length; _i++) {
  67. var arg = arguments_1[_i];
  68. console.log("Hello darling " + arg + " from function declaration");
  69. }
  70. };
  71. // greetAllDeclaration("Superman")
  72. // greetAllDeclaration("Superman", "SpiderMan")
  73. // greetAllDeclaration("Superman", "SpiderMan", "Captain Obvious")
  74. var greetAllArrow = function () {
  75. var argumentsArr = [];
  76. for (var _i = 0; _i < arguments.length; _i++) {
  77. argumentsArr[_i] = arguments[_i];
  78. }
  79. for (var _a = 0, argumentsArr_1 = argumentsArr; _a < argumentsArr_1.length; _a++) {
  80. var arg = argumentsArr_1[_a];
  81. console.log("Hello darling " + arg + " from arro function");
  82. }
  83. };
  84. // greetAllArrow("Superman")
  85. // greetAllArrow("Superman", "SpiderMan")
  86. // greetAllArrow("Superman", "SpiderMan", "Captain Obvious")
  87. //sum
  88. //Напишите функцию sum, которая сумирует любое количество параметров: Используйте псевдомассив
  89. //arguments для получения всех параметров, и for для итерирования по нему
  90. //sum(1) // => 1
  91. //sum(2) // => 2
  92. //sum(10,20,40,100) // => 170
  93. var sumDeclaration = function () {
  94. var sum = 0;
  95. for (var _i = 0, arguments_2 = arguments; _i < arguments_2.length; _i++) {
  96. var arg = arguments_2[_i];
  97. sum += arg;
  98. }
  99. return sum;
  100. };
  101. // sumDeclaration(1)
  102. // sumDeclaration(2)
  103. // sumDeclaration(10,20,40,100)
  104. var sumArrow = function () {
  105. var argumentsArr = [];
  106. for (var _i = 0; _i < arguments.length; _i++) {
  107. argumentsArr[_i] = arguments[_i];
  108. }
  109. var sum = 0;
  110. for (var _a = 0, argumentsArr_2 = argumentsArr; _a < argumentsArr_2.length; _a++) {
  111. var arg = argumentsArr_2[_a];
  112. sum += arg;
  113. }
  114. return sum;
  115. };
  116. // sumArrow(1)
  117. // sumArrow(2)
  118. // sumArrow(10,20,40,100)
  119. //Union
  120. //Всё предыдущие функции и примеры с ними объедините в функции, которые вызывайте в switch по имени задания:
  121. var eternalSample = function () {
  122. var sample = prompt("Введите название задания");
  123. !sample && eternalSample();
  124. switch (sample.toLowerCase()) {
  125. case "a":
  126. greetings('Gorge');
  127. break;
  128. case "cube":
  129. console.log(cube(2));
  130. break;
  131. case "avg2":
  132. console.log(avgOfTwo(1, 2));
  133. break;
  134. case "sum3":
  135. console.log(sumThree(1, 2, 3));
  136. break;
  137. case "intrandom":
  138. console.log(intRandom(2, 15));
  139. break;
  140. case "greetall":
  141. greetAllArrow("Superman", "SpiderMan");
  142. break;
  143. case "sum":
  144. console.log(sumArrow(10, 20, 40, 100));
  145. break;
  146. default: console.log('Whoopps');
  147. }
  148. eternalSample();
  149. };
  150. // eternalSample()
  151. //Union declarative
  152. //made it but withou invoking , belive me id works
  153. var associativeArr = new Map();
  154. associativeArr.set("a", greetings);
  155. associativeArr.set("cube", cube);
  156. associativeArr.set("avg2", avgOfTwo);
  157. associativeArr.set("sum3", sumThree);
  158. associativeArr.set("intrandom", intRandom);
  159. associativeArr.set("greetall", greetAllArrow);
  160. associativeArr.set("sum", sumArrow);
  161. var eternalSampleAssociativeArr = function () {
  162. var sample = prompt("Введите название задания");
  163. !sample && eternalSampleAssociativeArr();
  164. var getValue = associativeArr.get(sample.toLocaleLowerCase());
  165. getValue ? console.log(getValue) : console.log('Whoopps>Try again and writy more exat!');
  166. eternalSampleAssociativeArr();
  167. };
  168. // eternalSampleAssociativeArr()