Отображение неперехваченной ошибки ссылки

#javascript #html

#javascript #HTML

Вопрос:

Я разрабатываю математический веб-сайт, где я хочу создать функцию вычисления LCM (наибольшего общего кратного) для некоторых чисел. Вот мой HTML-код и соответствующий код Javascript.

HTML-код

 <h1>LCM of Multiple Numbers</h1>
      <textarea id="lcmbox" rows="2" cols="100" placeholder="Enter multiple numbers separated by spaces"></textarea> <br>
      <button id="lcmbtn" onclick="lcmAll()">Calculate LCM</button> <br>
      <label id="lcmN"></label> <br>
      <label id="lcmAllRes"></label> <hr>
  

Код Javascript

 function gcd(a, b) {
    if (b == 0)
        return a;
    else
        return gcd (b,a%b);
}

function lcmAll() {
    var x = document.getElementById("lcmbox").value;
    var arr = x.split(" ");
    for (var i=0; i<arr.length; i  )
      arr[i] = parseInt(arr[i]);
    var l = arr[0];
    var g;
    for (var i=1; i<arr.length; i  )
    {
      var g = gcd(l,arr[i]);
      l = (l / g) * arr[i];
    }
    document.getElementById("lcmN").innerHTML = "Total Numbers : " arr.length;
    document.getElementById("lcmAllRes").innerHTML = "Calculated LCM : " l;
}  

Проблема в том, что я получаю правильный вывод после тестирования его в локальном браузере. Но после загрузки его на сервер я получаю следующую ошибку,

Неперехваченная ошибка ссылки: lcmAll не определен в HTMLButtonElement.onclick

В чем здесь проблема?

Комментарии:

1. Находится ли определение функции в глобальной области видимости?

2. Но определена ли функция в глобальной области видимости или она вложена внутрь другой функции?

3. Вы уверены, что скрипт загружается? Видите ли вы это на вкладке «Источники» инструментов разработчика?

4. Я бы настоятельно посоветовал вам не пренебрегать правильным использованием фигурных скобок. Это значительно упростило бы диагностику подобных проблем. Я рекомендую, возможно, вставить ваш код в codepen / jsfiddle и посмотреть, работает ли он по-прежнему. Если это так, то вы знаете, что это проблема с сервером; если нет, то вы знаете, что это проблема с вашим кодом.

5. Если некоторые функции из файла сценария существуют, а некоторые нет, вы, вероятно, загружаете более старую версию из кэша. Очистите кэш вашего браузера и повторите попытку.