Pull to refresh

Javascript: Хороший стиль кода как правило

Reading time 1 min
Views 599
imageБанальное поучение для начинающих программистов :)

Говорила мне мама: «Сынок, объявляй переменные явно, даже если это вроде бы и не обязательно!», а я все ленился.

Нехитрый код на яваскрипте:
<script>
  msg='привет';
  alert(msg);
</script>


Все просто и понятно и блестяще работает под FireFox. Как культурный программист, проверяю страничку под IE и с удивлением получаю ошибку 'Object doesn't support this property or method' на той строке, где присваивание. Т.е. переменной не удается присвоить значение! Бред какой-то на первый взгляд, особенно для тех кто в первый раз ловит лбом черенок такой грабли.

После получасовых поисков (первые 20 минут было потрачено на поднимание упавшей челюсти с пола) оказалось что все просто до неприличия. Многие читающие наверно уже догадались, особенно если сами ловили такую граблю.
Веб-мастер, который верстал шаблон добавил в страничку невинный блок
<div id='msg'>Какое-то сообщение</div>
А Internet Explorer очень любит упрощать жизь программистам, при этом все делая только сложнее.
И из такой неземной любви, IE создал переменную msg которая соответствовала этому DIV'у. И когда мы пытаемся присвоить этой переменной какое-то значение, то получаем закономерный отлуп.
Решение банально:

<script>
  var msg='привет';
  alert(msg);
</script>


После этого у браузера с программистом полное взаимопонимание и любовь :)
Удачи!
Tags:
Hubs:
+16
Comments 10
Comments Comments 10

Articles