Массивы JavaScript, Internet Explorer и запятые

Февраль 10th, 2011 по Perlover Оставить ответ »

Заметил такую особенность — если описывать массив как

var array = [
elem1,
elem2,
elem3,
];

То в Firefox и Google Chrome — он будет иметь 3 элемента, а в Internet Explorer (тестировалось в 8-ой версии) — 4 элемента, причем 4-ый будет null.

Это я все к тому, что некоторые программисты любят писать таким стилем, добавляя везде при этом запятую в конце каждой строки (чтобы копировать и множить было удобнее).

Оказывается, такой стиль имеет скрытую угрозу — ошибки, когда «прогулка»  по массиву дает null элемент, тогда как такой программист предполагал, что будет три элемента и все — не null. Вообщем, программеры JavaScript — остерегайтесь 😉

На последок — тестовый HTML файл (сохраните код и откройте в броузере) — проверьте сами, что выдают броузеры 🙂

<html>
<body>
<script>var array = [1, 2, 3, ]; alert(array.length) </script>
</body>
</html>
QR-Code этой страницы:

Комментарии запрещены.