Tôi đang cố gắng để hiểu một mã tôi tìm thấy trên internet. Tôi không hiểu trong vòng lặp while, tại sao nó không phải là vòng lặp vô hạn. Nếu thay đổi calculator.appendChildtrong nó để ví dụ như console.lognó chạy mãi mãi.
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;
Về cơ bản luôn có một đứa trẻ đầu tiên trong một trang web không trống, vì vậy điều kiện luôn luôn đúng. Ai đó có thể giải thích tại sao cách này không chạy mãi mãi?
calculatoryếu tố nằm ngoài dom, và trong khi vòng lặp chỉ đơn giản là di chuyển qua tất cả trẻ em củabodyđểcalculator, vì vậy tại một số điểm,bodysẽ được bỏ trống và vòng lặp kết thúc. Chìa khóa ở đây tôi đoán làcalculatorbản thân nó không phải là con củabodyvòng lặp.