Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2022, 06:31
Аспирант
Отправить личное сообщение для DenisZ Посмотреть профиль Найти все сообщения от DenisZ
 
Регистрация: 19.04.2022
Сообщений: 31

Функции, объявление функций
Здравствуйте! У меня есть код
makeHeader ("Знакомимся с функциями")
// Функция для генерирования случайных чисел и записи 
//и в текстовую строку:
function getRandText(n){
  var txt="Случайные целые числа (от 1 до 10): <br>*" 
  for(var k=1;k<=n;k++){
  txt+=myRand()+" * "
 txt+="<br>"
 return txt
 }
 // Отображение 20 случайных чисел:
 document.write(getRandText(20))
 // Функция для генерирования случайных целых чисел: 
 function myRand(){
 return 1+Math.floor(10*Math.random())
 }
 // Функция для отображения заголовка:
 function makeHeader(t){
  document.write("<h4>"+t+"</h4>")}
}

VScode не выдает никаких ошибок, однако код не выполняется.
Пробовал запускать в Sandbox, там выдаются такие сообщения:

makeHeader is not defined
'getRandText' is defined but never used. (no-unused-vars)
'makeHeader' is defined but never used. (no-unused-vars)
'makeHeader' is not defined. (no-undef)

Как исправить данную ситуацию?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2022, 07:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DenisZ,
читать про видимость, строка 1 не может заглянуть в строку 4, а именно там и находится нужная функция.
https://learn.javascript.ru/function-expressions
Цитата:
Function Declaration находится в блоке {...}, функция доступна везде внутри блока. Но не снаружи него.

напишите каждую функцию отдельно от других.
и лучше забыть про document.write,
https://learn.javascript.ru/modifyin...document-write
проще будет искать ошибки, и легче строить html.

да и 9 строка тоже выстрел в холостую, если не сказать в ногу.
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2022, 07:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

DenisZ,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
</head>
<body>
    <script>
        // Функция для отображения заголовка:
        function makeHeader(t) {
            document.write("<h4>" + t + "</h4>")
        }
        makeHeader("Знакомимся с функциями")
        // Функция для генерирования случайных целых чисел:
        function myRand() {
            return 1 + Math.floor(10 * Math.random())
        }
        // Функция для генерирования случайных чисел и записи
        //и в текстовую строку:
        function getRandText(n) {
            var txt = "Случайные целые числа (от 1 до 10): <br>"
            for (var k = 1; k <= n; k++) {
                txt += " * " + myRand();
                txt += " *<br>";
            }
            return txt
        }
        // Отображение 20 случайных чисел:
        document.write(getRandText(20))
    </script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2022, 22:02
Аспирант
Отправить личное сообщение для DenisZ Посмотреть профиль Найти все сообщения от DenisZ
 
Регистрация: 19.04.2022
Сообщений: 31

function spasib() {
  let t = "большое спасибо!";
  alert(t);
}
spasib();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как показать пользовательские функции объекта test? Katy93 Общие вопросы Javascript 0 12.12.2021 04:02
Странное объявление функций beatsspam Общие вопросы Javascript 3 23.01.2017 14:52
Объявление функции Nazaki Общие вопросы Javascript 6 31.12.2015 00:53
Как в функции объявить вызов других функций, еще не определенных? lonleystranger Общие вопросы Javascript 6 26.11.2013 11:16
Непонятный алгоритм отработки функций Jopses jQuery 5 16.02.2013 12:55