Вопрос по обучающим примерам.
Если не в тот раздел, извините. :)
Начал изучение JavaScript. Параллельно читаю учебник на этом сайте и смотрю видео курс "Специалист". Делал задания по видео про функции. Задание было сделать функцию вычисления средне арифметического числа. Вот как сделал "Специалист": <script> function middle (a1,a2) { var f = (a1 + a2)/2; return f; } var s1 = prompt ('Введите первое число',''); s1 = parseInt(s1); var s2 = prompt ('Введите второе число',''); s2 = parseInt(s2); var j = middle(s1,s2); document.write (j) </script> А вот как сделал я: <script> var c = +prompt ("Введите первое число",""); var v = +prompt ("Введите второе число",""); function z(c,v) { return "Среднее арифметическое " + (c + v) / 2; } document.write (z(c,v)); </script> Вопрос: :-? ЗАЧЕМ в примере "Специалиста" так много переменных??? и ПОЧЕМУ работает мое решение???? (делал абсолютно по наитию(как кажется правильным)) |
Цитата:
Цитата:
|
alert((+prompt('Введите первое число') + +prompt('Введите второе число')) / 2); |
Цитата:
alert((+(a=prompt)('Введите первое число') + +a('Введите второе число')) / 2); |
На все ваши ответы у меня есть свой одни:
В рот мне чих-пых! Как вы это делаете!??!? Но задача была научится работать с функциями, хотя и ваши примеры я взял на заметку. :) В моем решении меня интересует КАК он заработал, и ПОЧЕМУ, по какому алгоритму???? кто то может объяснить? |
Славик,
Посто ты написал рабочий код. Тябя это удивляет? :) ты записал в переменные prompt, потом сделал функцию, возвращающюю их среднее арефметическое, потом вывел результат функции на страницу. Всё правильно, не удивляйся )) |
Цитата:
А если серьёзнее то вам скорее всего не понятно почему уних используеться parseInt а у вас вместо него сразу c = +prompt ну так унарныйй плюс тоже преобразует в числовой тип. поэтому и работает правильно... |
с Предыдущим разобрался... у меня другой вопрос. Вот код
var z = new Array(); do { var x = +prompt('Введите число или 0 для отмены',''); if (x) z.push(x); } while ( x ); document.write ('Вы ввели числа : ' + z + '<br/>'); var s = 0; for ( i = 0; i < z.lenght; i++) //document.write (z[i]); {s += z[i];} if (z.length > 0) { var d = s/z.length;} document.write ('Среднее число : ' + d); Он должен вычислять среднее арифметическое из введенного массива. НО почему то не выводит, а выводит среднее 0, если убрать закомментированную строчку с документ.врайтом и сделать ее активной, то 1 оно не выводит документ.врайт на страницу 2 все начинает работать нормально... :-? Почему так??? делалось все по аналогии и я не смог найти разницу между работающим кодом и моим... |
выводите через alert.
|
Славик, 11 строка z.lenght Это на первый взгляд.
|
Часовой пояс GMT +3, время: 02:13. |