如何在Javascript中使用goto?
我有一些绝对必须使用实现的代码goto
。例如,我要编写这样的程序:
start:alert("RINSE");
alert("LATHER");
repeat: goto start
有没有办法用Javascript做到这一点?
回答:
绝对!有一个名为Summer of Goto的项目,它使您可以最大程度地使用JavaScript,并将彻底改变您编写代码的方式。
这个JavaScript预处理工具可让您创建标签,然后使用以下语法转到标签:
[lbl] <label-name>goto <label-name>
例如,问题中的示例可以编写如下:
[lbl] start:alert("LATHER");
alert("RINSE");
[lbl] repeat: goto start;
请注意,您不仅限于无穷无尽的LATHER``RINSE
重复循环这样的简单程序,它所提供的可能性goto
是无限的,您甚至可以Hello,world!
向JavaScript控制台发送一条消息538次,如下所示:
var i = 0;[lbl] start:
console.log("Hello, world!");
i++;
if(i < 538) goto start;
您可以阅读有关goto的实现方式的更多信息,但基本上,它会执行一些JavaScript预处理,这利用了您可以使用带标签的while
loop模拟goto的事实。因此,当您撰写“你好,世界!”
上面的程序,它被翻译成这样的东西:
var i = 0;start: while(true) {
console.log("Hello, world!");
i++;
if(i < 538) continue start;
break;
}
此预处理过程存在一些限制,因为while循环无法跨越多个功能或块。不过,这没什么大不了的-
我相信能够利用goto
JavaScript的好处绝对会让您不知所措。
PS对于任何想知道的人(到目前为止共有零个人),SummerofGoto是PaulIrish推广的一个术语,同时讨论了该脚本以及PHP决定将goto添加到他们的语言中的决定。
对于那些没有立即意识到整件事是在开玩笑的人,请原谅我。<—(保险)。
以上是 如何在Javascript中使用goto? 的全部内容, 来源链接: utcz.com/qa/435991.html