Пытаюсь сделать следующую вещь: Скрипт вырабатывает три случайных числа - выводит на экран в виде картинок(изображения костей) Одна из функций выводит на экран сумму трех случайных чисел. Сразу предупреждаю, я только учусь. Код числа генерирует нормальлно, но не складывает их. Где ошибка? [js]function getrandom1() { var min_random = 1; var max_random = 6; max_random++; var range = max_random - min_random; var n=Math.floor(Math.random()*range) + min_random; return n; } document.write(getrandom1()) function getrandom2() { var min_random = 1; var max_random = 6; max_random++; var range = max_random - min_random; var n=Math.floor(Math.random()*range) + min_random; return n; } document.write(getrandom2()) function getrandom3() { var min_random = 1; var max_random = 6; max_random++; var range = max_random - min_random; var n=Math.floor(Math.random()*range) + min_random; return n; } document.write(getrandom3()) var x = document.write(getrandom1()); var y = document.write(getrandom1()); function calculation() { var x; var y; var result= x + y; return result; } document.write(calculation()) [/js][/js]
Получается вот что: 1) Вы выводите информацию document.write(); 2) Метод (функция) write не возвращает коду никаких аргументов при выполнении (ни true в случае удачи, ни false в случае ошибки). Получается undefined (неопределенность). 3) Вы присваиваете undefined переменным х и y. Отсюда все и ошибка. Вообще, мне не очень понятно, зачем вы создаете три функции с одинаковым кодом. Предлагаю ваш вариант, только переделанный. [js] function getrandom() { var min_random = 1; var max_random = 6; max_random++; var range = max_random - min_random; var n=Math.floor(Math.random()*range) + min_random; document.write(n); return n; } //Теперь вызываем трижды одну и ту же функцию, чтобы создать три разных числа //Но сначала создаем массив, чтобы туда поместить эти три числа var numbers = new Array(); for (i=0;i<=2;i++) { numbers = getrandom(); } //Объявляем функцию и не забываем, что она принимает массив (название может быть отличное от название массива) function calculation(numbers) { var result= numbers[0] + numbers[1] + numbers[2]; return result; } //Вызываем функцию сложения, передавая ей массив и печатаем document.write(calculation(numbers)); [/js]