Estoy tratando de entender un código que encontré en internet. No entiendo en el ciclo while, por qué no es un ciclo infinito. Si cambia el calculator.appendChilden por ejemplo, console.logse ejecuta para siempre.
window.location.hash = 1;
var calculator = document.createElement("div");
calculator.id = "height-calculator";
while (document.body.firstChild) {
calculator.appendChild(document.body.firstChild);
}
document.body.appendChild(calculator);
document.title = calculator.clientHeight;
Básicamente, siempre hay un primer hijo en un sitio no vacío, por lo que la condición siempre es cierta. ¿Alguien puede explicar por qué de esta manera no funciona para siempre?
calculatorelemento está fuera del dom, y el ciclo while simplemente se mueve sobre todos los elementos secundarios debodytocalculator, por lo que en algún momentobodyestará vacío y el ciclo finalizará. La clave aquí, supongo, es quecalculatorno es en sí un hijobodydurante el ciclo.