为什么我的网站上没有运行这个简单的Javascript代码?

为什么我的网站上没有运行这个简单的Javascript代码?,javascript,html,Javascript,Html,我是菜鸟JSer。我试图在每次加载网站页面时都出现一个新短语。但是,当我重新加载页面时,该短语不会出现 var短语=[ "第一阶段",, "第二阶段",, “第三阶段” ] 函数newPhrase(){ var num=Math.floor(Math.random()*(phrases.length)); document.getElementById('phrase').innerHTML=phrases[num]; } StickComs:人人免费看漫画 我不想编辑OP的答案,因此这

我是菜鸟JSer。我试图在每次加载网站页面时都出现一个新短语。但是,当我重新加载页面时,该短语不会出现

var短语=[
"第一阶段",,
"第二阶段",,
“第三阶段”
]
函数newPhrase(){
var num=Math.floor(Math.random()*(phrases.length));
document.getElementById('phrase').innerHTML=phrases[num];
}

StickComs:人人免费看漫画


我不想编辑OP的答案,因此这里是可运行格式的代码。它似乎在这里工作,所以我敢说,
generator.js
文件可能没有加载

首先检查开发人员工具中的网络请求,看看它是否成功加载

其次,如果加载了脚本,那么由于您正在为主体使用
onload
事件,因此在事件尝试执行函数之前,脚本可能已经加载,但尚未被解析和执行(尽管我认为这会导致报告错误)


StickComs:人人免费看漫画

变量短语=[ "第一阶段",, "第二阶段",, “第三阶段” ] 函数newPhrase(){ var num=Math.floor(Math.random()*(phrases.length)); document.getElementById('phrase').innerHTML=phrases[num]; }
使用这种方式在简单的html页面中运行JavaScript,修改generator.js如下:

 let phrases = [
     'Phrase one',
     'Phrase two',
     'Phrase three'
 ]

 function newPhrase() {
    var num = Math.floor(Math.random() * (phrases.length));
    document.getElementById('phrase').innerHTML = phrases[num];
 }
window.onload = newPhrase;
移除

onload="newPhrase()"

在body标签中,因为它实际上根本不起作用。

您的控制台日志是否报告任何错误?我建议您首先学习一些调试,然后在遇到特定问题时返回这里。至少我们需要一条@Adam所说的错误消息。您的代码看起来很正常,所以很难知道,请尝试单击帖子中的
按钮,并在此处创建一个可运行的示例。把console.logs放在你的js文件中,确保它被加载,找到元素等等。不,亚当,它不是。对我来说很好。