JavaScript:未在页面上运行
我有一些JavaScript,我正试图在HTML页面上实现。代码如下-如何在打开.html文件后立即运行它?它希望我一打开它,它就提示我输入重量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
<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()
不是你想要的。即使权重为1000,它也将返回true。它将检查重量是否大于112,然后比较结果是否小于115112
var权重=1000;
//112<1000=>true,true<115=>true
如果(112<重量<115){
警惕(“112<重量<115”);
}
- 您在支票中留下了一些值。如果在一个
中检查If
,在另一个重量<118
中检查If
,那么如果重量正好是118,会发生什么重量<118
- 使用
块,而不是多个if-s。在您的recruit函数中,即使权重为110并且执行了第一个if{}或else if{}
块的主体,您仍然会每隔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");
}