function analysis(){ // во всех предыдущих дз я делал функции как отдельное задание // (в дз 05, у меня функции последовательно вызывают друг друга, // тем самым передавая значение массива по цепочке) } // Анализ function a() { alert(arguments[0]); } // a function cube(num) { return Math.pow(num, 3); //return Math.pow(arguments[0], 3); } // cube function avg2(a, b){ return (a + b) / 2 } // avg2 function sum3(a, b, c) { return (a || 0) + (b || 0) + (c || 0); } // sum3 function intRandom(...args) { return (args.length === 1) ? Math.round(Math.random() * args[0]) : Math.round(Math.random() * (args[1] - args[0]) + args[0]); } // intRandom // function greetAll(){ // let str = 'Hello '; // for (let i = 0; i < arguments.length; i++) { // str += `${arguments[i]}, `; // } // return str.slice(0, str.length-2); // } // greetAll ВАРИАНТ 1 function greetAll(...persons){ return `Hello ${persons.join(', ')}`; } // greetAll ВАРИАНТ 2 function sum(){ let sum = 0; for (let i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; } // sum function union() { function aSample(){ a("Привет!"); } function cubeSample(){ alert(cube(5)); } function avg2Sample(){ alert(avg2(1,2)); } function sum3Sample(){ alert(sum3(1,2,3)); } function intRandomSample(){ alert(intRandom(2, 15)); } function greetAllSample(){ alert(greetAll("Superman", "SpiderMan", "Captain Obvious")); } function sumSample(){ alert(sum(10, 20, 40, 100)); } let sample = prompt("Введите название задания") switch (sample.toLowerCase()){ case "a": aSample(); break; case "cube": cubeSample(); break; case "avg2": avg2Sample(); break; case "sum3": sum3Sample(); break; case "intRandom": intRandomSample(); break; case "greetAll": greetAllSample(); break; case "sum": sumSample(); break; default: alert('Error'); break; } } // Union function unionDeclarative(str){ let obj = { a: function (){ a("Привет!"); }, cube: function (){ alert(cube(5)); }, avg2: function (){ alert(avg2(1,2)); }, sum3: function (){ alert(sum3(1,2,3)); }, intRandom: function (){ alert(intRandom(2, 15)); }, greetAll: function (){ alert(greetAll("Superman", "SpiderMan", "Captain Obvious")); }, sum: function (){ alert(sum(10, 20, 40, 100)); }, union: function (){ union(); }, } return obj[str]; } // Union declarative //unionDeclarative('a')(); // пример вызова