- ReferenceError (выполнение программы останавливается) ReferenceError возникает, когда используется несуществующий идентификатор (имя).
Например, если ваша функция возвращает значение константы, но такой константы не существует. Или в каком-нибудь выражении (фрагмент кода, который вычисляется в значение, как формула) используется неизвестный идентификатор.
- Логические ошибки (Logical Errors) Представляет ошибки, которые не приводят к остановке работы скрипта, но ведут к неправильным результатам.
Например, если вы написали функцию, которая неправильно вычисляет сумму двух чисел, это может привести к неправильным результатам, но скрипт все равно продолжит работать.
- SyntaxError Представляет ошибку синтаксиса- это ошибки, которые возникают из-за неправильного синтаксиса JavaScript.
Например, если вы забыли поставить точку с запятой в конце строки или неправильно расставили скобки, это может вызвать синтаксическую ошибку. Такие ошибки обычно возникают на этапе компиляции скрипта.
- typeError TypeError возникает, когда вы используете неправильный тип.
Например, если вы пытаетесь вызвать численную константу как функцию.
-
EvalError Представляет ошибку, которая генерируется при выполнении глобальной функции eval()
-
RangeError Ошибка генерируется, если параметр или переменная, представляют число, которое находится вне некоторого допустимого диапазона.
-
URIError Ошибка генерируется при передаче функциям encodeURI() и decodeURI() некорректных значений.
-
AggregateError Предоставляет ошибку, которая объединяет несколько возникших ошибок
Логические ошибки, также известные как ошибки выполнения (runtime errors) или ошибки логики программы (program logic errors), не останавливают работу скрипта, но могут привести к непредсказуемым результатам.
Логические ошибки возникают, когда программа не работает так, как ожидается, из-за неправильной логики программы. Это может быть вызвано неправильным использованием операторов, алгоритмическими ошибками, неправильным порядком выполнения операций или неправильным расчетом значений.
Например, предположим, что у нас есть функция, которая принимает два аргумента - числа x
и y
- и возвращает их сумму:
function addNumbers(x, y) {
return x - y
}
В этой функции есть логическая ошибка: вместо сложения оператор -
используется, поэтому функция будет возвращать разность чисел, а не их сумму. Если эта функция будет вызвана в другой части программы, она не остановит работу скрипта, но может привести к непредсказуемым результатам в зависимости от контекста вызова.