我是 JS 的新手。我怀疑它与控制台上的打印输出有关。有人可以帮我理解以下 JS 代码片段中的功能吗?非常感激!!JS代码片段:console.log("Registering Machines && Units...");(function() { var P = ["\\", "|", "/", "-"]; var x = 0; return setInterval(function() { process.stdout.write("\r" + P[x++]); x &= 3; }, 250);})();
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
这基本上是控制台中的加载动画,而不是浏览器中的加载动画,而是类似命令提示符的东西。
你可以认为process.stdout.write("\r" + P[x++]);
aconsole.log()
\r
是一个回车符;它告诉您的终端仿真器将光标移动到该行的开头。光标是下一个字符将被渲染的位置。因此,打印 \r 允许覆盖终端仿真器的当前行。 x &= 3;
是一个 AND 按位运算,它将确保 x 在超过 3 时始终设置为 0,以便您有一种循环,因为P.length
等于 3,它基本上是执行此操作的捷径,if(x>3)x=0
所以所有这些都在同一位置重复打印字符 \\、|、/、- 以产生旋转 | 的错觉 在终端。
添加回答
举报
0/150
提交
取消