training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как найти ошибки в javascript

Создано: 20 декабря 2015Автор: Егор Астапов2229 просмотровСложность: легкий

Ошибки в нашем деле неизбежны. В javascript сложно найти ошибку. Хорошо если браузер покажет вам через firebug номер строки с ошибкой. В этом случае легко понять свою ошибку. Но что делать если нет номера строки с ошибкой? Тут вам поможет известная функция alert('ошибка'). Если алерт не срабатывает, то можно воспользоваться функцией console.log(). Она также работает как и алерт, только выводится в консоле браузера. Она хорошо показывает массивы и объекты, в отличие от алерта.


alert("здесь ошибка");
console.log("здесь ошибка");

Существует 2 способа отслеживания ошибок javascript если браузер не показывает номер строки.

  1. Начинаем с самого начала работы скрипта (индукция). Вы идете с самого начала и выводите алертом или console.log() какой-нибудь проверочный текст. Вы перемещаете код все ниже и ниже. И на какой-то строке исчезнет вывод ошибки (alert("здесь ошибка")). Если ошибка выше алерта, то он не срабатывает. Тут и надо искать ошибку. Я люблю этот способ.
  2. Тут нужно идти с конца в начало (дедукция). Этот способ самый сложный. Я редко им пользуюсь. Вы пытаетесь вывести алертом некий код (alert(1)). Если алерт отобразится, то под ним находится ошибка.

Очень часто возникает ошибка из-за undefined. Это неопределённый тип данных. Очень плохая штука. Из-за не скрипт может сильно тормозить или работать не правильно. В ваших самописных функциях нужно проверять тип данных для входных параметров функции. Как проверить тип данных? Вам помогут 2 способа:


var error = 'ошибка';
// если ошибка, то выведет в случае ошибки null, undefined
console.log(error);
// в этом случае выведет только тип объекта
console.log(typeof error);
Если предыдущие не сработали, то есть еще один неприятный способ. Он заключается в том что вы удаляете подозрительный участки кода. Этот способ самый сложный. Если вы в случае удаления блока не видите ошибки, то именно в этом участке кода ошибка. Если и этот способ не сработал то воспользуйтесь системой контроля версий. Тут можно откатиться до определённой рабочей точки. Если вы пользуйтесь системой контроля версии GIT, то команда git checkout . сбросит текущий код до состоянии последнего коммита.

Комментарии

реклама