Hallo,
Denn wenn list[i] 'undefined' wird, ist das der zugewiesene Wert, und die ganze Zuweisung element = list[i]; evaluiert zu false, was die Schleife beendet. Cool!
list wird null, weil in DOM Core definiert ist, dass NodeList.item(index) null zurückgibt, wenn kein solches Item existiert. Das geht aber auch nur mit NodeLists bzw. Arrays, die keine Elemente enthalten können, die bei einer Umwandlung in Boolean false ergeben.
Bleibt noch zu prüfen, ob so ein Elementknoten nicht auch sonst mal irgendwie "falsy" werden könnte.
Nö, das ist nicht möglich.
Mathias