Сообщение от demoniqus
|
И чем строки 2 и 3 отличаются от объявления переменной bub, что их надо объявлять через var, а bub этого не требует?
|
Там тоже надо, просто тогда её ещё надо поднять наверх, а я с мобилы писал.
В строгом режиме ваш второй код работать не будет (потому как нельзя объявлять переменные без var).
В общем уже есть бесчисленное множество холиваров на тему вар, но если всегда писать вар, то:
1) Нельзя случайно переопределить глобальную переменную
2) Много глобальных переменных - это вообще плохо
3) С вар - более правильно так как это стандарт спецификации и без вар работает только из-за совместимости со старыми браузерами.
'use strict';
try {
a = 10;
} catch (e) {
alert(e);
}
Написание кода в строгом режиме - это вообще хороший тон и уменьшение вероятности необычных ошибок.