我一直在处理一些 Javascript 代码并遇到了这个循环
for (var w = window; w.window === window.window.window; w = w.window) {
w.w = w.prompt("Enter password");
if (w.w === "swordfish") break;
w.alert("Incorrect password.");
}
w.alert("Welcome, authenticated user!");
这段代码对我来说没有任何意义。这里到底发生了什么,它是如何运作的?
最佳答案
window
始终等于 window.window....window
,因此循环永远不会结束,除非密码正确。
for(;;)
循环具有以下签名:
for (init; test; increment);
它一直继续直到 test
为假。由于 window === window
始终为真,因此循环一直运行,直到遇到 break
。为清楚起见,w
始终指代 window
。
关于javascript - 这个for循环应该做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745045/