javascript - 这个for循环应该做什么?

标签 javascript loops for-loop

我一直在处理一些 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/

相关文章:

javascript - 用于标记查询的 JavaScript 正则表达式

c - C 中的嵌套 While 循环

Java - "for-loop"- 不兼容的类型

javascript - 使用 lodash 从数组返回对象属性

javascript - JSHint "Bad or unnecessary escaping."双斜线开头/结尾重要吗?

javascript - Ionic 2 - 属性不存在类型错误

c++ - 用于计算乘数和除数值的优化算法

java - 使用 rnd 值防止无限循环

php - 从输入字段插入 wp DB

c++ - 可以使用 C++11 基于范围的 for 在 [0, n-1] 区间上迭代吗?