Javascript 功能赢得';t运行,表示未定义

Javascript 功能赢得';t运行,表示未定义,javascript,html,Javascript,Html,当我点击按钮时 <button onclick="game();">Submit</button> 并在头上用 <script src="numbers.js" type="text/javascript"></script> 它不应该运行吗? 您的javascript中有一些错误。 javascript中没有elseif关键字 第二,我们对括号订单有一些问题 这里有一个工作版本: function game() { var nu

当我点击按钮时

<button onclick="game();">Submit</button>
并在头上用

<script src="numbers.js" type="text/javascript"></script>

它不应该运行吗?


您的javascript中有一些错误。
javascript中没有elseif关键字

第二,我们对括号订单有一些问题

这里有一个工作版本:

function game() {
    var number = document.getElementById("myNumber").value;
    var number = Number(number);
    stepnumber.push(number);
    var orignumber = number;
    if (number !== "NaN") {
        for (step = 0; step > 1; step + 0) {
            if (number % 2 === 0) {
                number = number / 2;
                stepnumbers.push(number);
                step += 1;
            }
            else if(number % 2 === 1) {
                number = number * 3;
                number += 1;
                stepnumbers.push(number);
                step += 1;
            }

            document.getElementById("output").innerHTML = "Your number, " + orignumber + " took " +
            step + " steps to reach 1, the numbers it went through (in order) were: "
            + stepnumbers.toString() + ". Thanks for using this random 'tool'!";
        }
    }
    else {
        document.getElementById("output").innerHTML = "You didn't type in a number, try again."
    };
}

你确定你的脚本被正确加载了吗?在开发人员工具上查看浏览器的“网络”选项卡。您应该看到它请求JavaScript文件,并且那里不应该有错误代码。number.js是否与HTML文件位于同一级别的同一目录中?它正在加载并位于同一目录中。可能numbers.js被缓存在您的浏览器中。尝试浏览numbers.js并检查内容是否符合预期。如果缓存不同,请清除缓存。是的,它应该在本地为我运行。如果在
numbers.js
或其他加载的脚本中有任何额外的JavaScript,请您链接一个?这是github上的一个公开要点,不够可靠吗?我在回答中解释了他的问题。代码只为他准备的,我不认为其他人会与此有关。
function game() {
    var number = document.getElementById("myNumber").value;
    var number = Number(number);
    stepnumber.push(number);
    var orignumber = number;
    if (number !== "NaN") {
        for (step = 0; step > 1; step + 0) {
            if (number % 2 === 0) {
                number = number / 2;
                stepnumbers.push(number);
                step += 1;
            }
            else if(number % 2 === 1) {
                number = number * 3;
                number += 1;
                stepnumbers.push(number);
                step += 1;
            }

            document.getElementById("output").innerHTML = "Your number, " + orignumber + " took " +
            step + " steps to reach 1, the numbers it went through (in order) were: "
            + stepnumbers.toString() + ". Thanks for using this random 'tool'!";
        }
    }
    else {
        document.getElementById("output").innerHTML = "You didn't type in a number, try again."
    };
}