Хм… днеска се сблъсках с една много интересна js случка. Налага се да дописвам неща на сайт, който не съм правил аз, и намерих следния код (малко перефразиран
):
var arr = new Array;
for (var a in arr) {
// стават разни неща тука
}
По принцип, тъй като имаме празен array, не би трябвало да се влезе във for цикъла. И през ум не ми минаваше идеята, че може да се получава нещо различно. Оооооообаче… на сайта се ползва prototype.js, който екстендва Array обекта с разни допълнителни методи и на практика цикъла се завърта за всеки добавен от prototype метод/пропърти. И при все че arr.length си е 0.
Извода мисля е ясен.