JavaScript:未在页面上运行

JavaScript:未在页面上运行,javascript,logic,html-helper,Javascript,Logic,Html Helper,我有一些JavaScript,我正试图在HTML页面上实现。代码如下-如何在打开.html文件后立即运行它?它希望我一打开它,它就提示我输入重量 <script type="text/javascript"> var weight = parseInt(prompt("What is your weight?")); if (weight > 126) { alert('Please enter a weight lighter than 126

我有一些JavaScript,我正试图在HTML页面上实现。代码如下-如何在打开.html文件后立即运行它?它希望我一打开它,它就提示我输入重量

<script type="text/javascript">
    var weight = parseInt(prompt("What is your weight?"));
    if (weight > 126) {
        alert('Please enter a weight lighter than 126');
    }
    document.writeln('<br/>');
    var wArray = ["fly", "superfly", "bantam", "superbantam", "feather"];

    function recruit() {
        if (0 < weight < 112){
            document.writeln('You are in' + wArray[0] +'class!');
        }
        if (112 < weight < 115){
            alert('You are in' + wArray[1] +'class!');
        }
        if (weight > 115 && weight < 118){
            alert('You are in' + wArray[2] +'class!');
        }
        if(weight > 118 && weight < 122){
            alert('You are in' + wArray[3] +'class!');
        }
        if (weight > 122&& weight < 126){
            alert('Your weight class is' + wArray[4]);
    }
</script>

var-weight=parseInt(提示(“您的体重是多少?”);
如果(重量>126){
警报(“请输入一个小于126的重量”);
}
document.writeln(“
”); var wArray=[“苍蝇”、“超级飞行”、“班塔姆”、“超级班塔姆”、“羽毛”]; 功能招募(){ 如果(0<重量<112){ document.writeln('您在'+wArray[0]+'class!'中!'); } 如果(112<重量<115){ 警报('你在'+wArray[1]+'类!''); } 如果(重量>115和重量<118){ 警报('你在'+wArray[2]+'class!''); } 如果(重量>118和重量<122){ 警报('你在'+wArray[3]+'class!''); } 如果(重量>122和重量<126){ 警惕('您的体重等级为'+wArray[4]); }

var-weight=parseInt(提示(“您的体重是多少?”);
如果(重量>126){
警报(“请输入一个小于126的重量”);
}
document.writeln(“
”); var wArray=[“苍蝇”、“超级飞行”、“班塔姆”、“超级班塔姆”、“羽毛”]; 功能招募(){ 如果(0<重量<112){ document.writeln('您在'+wArray[0]+'class!'中!'); } 如果(112<重量<115){ 警报('你在'+wArray[1]+'类!''); } 如果(重量>115和重量<118){ 警报('你在'+wArray[2]+'class!''); } 如果(重量>118和重量<122){ 警报('你在'+wArray[3]+'class!''); } 如果(重量>122和重量<126){ 警惕('您的体重等级为'+wArray[4]); } } 招募();
它似乎工作正常:


您在末尾遗漏了一个
}

当页面加载如下内容时,您可以调用javascript函数:

<body onload="myFunction();">

脚本有两个问题:

  • 您的
    recruit()
    缺少结束括号
    }
  • 您没有在任何地方调用
    recruit()
其他几个问题:):

  • 112
    不是你想要的。即使权重为1000,它也将返回true。它将检查重量是否大于112,然后比较结果是否小于115
尝试:

var权重=1000;
//112<1000=>true,true<115=>true
如果(112<重量<115){
警惕(“112<重量<115”);
}
  • 您在支票中留下了一些值。如果在一个
    If
    中检查
    重量<118
    ,在另一个
    If
    中检查
    重量<118
    ,那么如果重量正好是118,会发生什么

  • 使用
    if{}或else if{}
    块,而不是多个if-s。在您的recruit函数中,即使权重为110并且执行了第一个
    if
    块的主体,您仍然会每隔
    if
    检查一次权重

  • 在输出字符串中添加空格,例如:
    “您在”+wArray[0]+”类中:)

  • 正如Rocket在评论中所写:
    parseInt()
    应使用
    10
    作为第二个参数(基数)调用,以强制解析为十进制。看

  • 好处:尽快停止使用
    document.writeln
    ,因为这会教你一些坏习惯。例如,请参见或

是解决这些问题的版本


注意:代码在
窗口内执行。onload
确保文档的其余部分已加载,以便他可以访问
div

一点解释会有所帮助,我认为您不需要重新发布代码,除非您更改它。如果您这样做了,请突出显示更改的内容。您忘记了“}”,必须调用recruit函数:)只是一个注释,您应该将
,10
添加到
parseInt
。这样:
parseInt(提示(“你的体重是多少?”),10)
<body onload="myFunction();">
var weight = 1000;
// 112 < 1000 => true, true < 115 => true
if (112 < weight < 115) { 
   alert("112 < weight < 115");
}