【问题标题】:Javascript's equivalent to "goto" [duplicate]Javascript相当于“goto” [重复]
【发布时间】:2014-04-26 23:09:38
【问题描述】:

我正在为我的网站在一个隐藏的复活节彩蛋页面上编写一个基本的点击计数器,但我遇到了一个以前在编写 Web 时从未遇到过的问题:Javascript 是否具有与其他编程语言 goto 等价的功能。代码如下,如果有人可以对其进行调整,以便更改显示的“点击”并且不会保持为 0,而如果稍后在代码中更改变量本身。

<html>
<body>
<h2>
<script>
var clicks = 0
</script>
<script>
document.write(clicks)
</script>
<br>
<button onclick ="clicks = clicks + 1">Click me</button>
</body>
</html>

【问题讨论】:

  • 更新文本字段通常不使用任何语言的 goto 完成。
  • 目前还不清楚您想要达到什么目标,或者您认为goto 会如何提供帮助。
  • 有很多主题使用完全相同的问题标题:stackoverflow.com/search?q=Javascript+goto
  • @Don Roby:我认为这里的情况有所不同。虽然问题似乎相同。

标签: javascript goto


【解决方案1】:

你想要的是写然后反复调用一个函数。而且您不希望该函数调用document.write;您可能希望它将文本附加到现有的 DOM 节点。

我建议买一本关于 JavaScript 的介绍性书籍。

【讨论】:

    【解决方案2】:

    创建以下 html 内容:

        <div id="myDiv"></div>
    

    另外,在更新 clicks 变量值之后,像这样更新 div 内容:

    document.getElementById("myDiv").innerHTML = clicks;
    

    【讨论】:

      【解决方案3】:

      虽然我是 Javascript 的新手,但我有使用 Python、Java 和 C++ 的经验,唯一真正的 GOTO 替代方法是用户定义的函数。在javascript中,我相信它只是function functionname { code here }

      【讨论】:

        【解决方案4】:

        没有。通常使用goto 语句是个坏主意。

        您需要做的是每次用户点击时将clciks 写入特定元素。像这样:

        <html>
        <body>
        <h2>
        <script>
        var clicks = 0
        </script>
        <div id="myinfo"></div>
        <br>
        <button onclick="clicks = clicks + 1; document.getElementById('myinfo').innerHTML=clicks">Click me</button>
        </body>
        </html>
        

        另外,你可以使用更短的命令:

        <button onclick="clicks = clicks + 1; myinfo.innerHTML=clicks">Click me</button>
        

        【讨论】:

        • 很确定后一个示例是非标准且不可移植的。
        • 如果我理解的很好,正在标准化:stackoverflow.com/questions/3434278/…
        • 这真的很不幸。无论如何,就目前而言,我之前所说的都是正确的。
        猜你喜欢
        • 2013-09-22
        • 2017-06-25
        • 1970-01-01
        • 2011-05-25
        • 2016-03-20
        • 2012-11-19
        • 1970-01-01
        • 1970-01-01
        • 2018-09-07
        相关资源
        最近更新 更多