Условная точка останова рушится, если переменной не существует
Как сделать так, чтобы при отсутствии переменной, которая задана в условии точки останова, отладка не рушилась?
Ie8. Пробовала сравнивать с undefined, но всё равно рушится. |
Risa, try..catch
|
Большое спасибо!
|
Risa,
Эмм, try catch мне кажется слишком мощное решение для такой проблемы, к тому же он очень тормозной. Если переменная глобальная, то if ("имя переменной" in window) {... Пример: if (!("some" in window)) { alert("Нет переменной some!"); } |
Цитата:
!("some" in window) && alert("Нет переменной some!"); |
tsigel,
Спасибо, но у меня массив (локальная переменная) и если существует 2-й элемент, то мне нужно, чтобы отладчик останавливался на этом месте и я бы смотрела, что происходит дальше. То есть try - catch только в самом отладчике существует (там, где задаётся условие для точки останова), а не в коде. |
Проблема в том чтобы проверить наличие элемента в массиве или самого массива?
var arr = [1,2,3] if (arr[2] !== undefined) alert("элемент есть!"); if (arr[3] === undefined) alert("элемента нет!"); |
if(typeof foo === 'undefined') alert('No "foo" here'); |
Если быть более точной, это свойство объекта.
в одном месте объект obj: this.arr = [1,2,3] в другом месте obj передаётся в метод и уже в этом методе я делаю точку останова(ie8 f12 сценарий), жму по ней правой клавишей мыши, условие... пишу arr[2] !== undefined && моё условие... сработало, спасибо! Странно, я уже пыталась сделать и там вылетала ошибка. Может, опечаталась тогда. Большое спасибо! |
Часовой пояс GMT +3, время: 09:29. |