问题在这里解释得更清楚:,我正在使用JavaScript创建一个简单的随机引号生成器。我在一个名为"quotes.js“的文件中的数组中有数百个引号,然后在一个名为"script.js”的文件中使用实际的函数,这两个文件都链接到一个"index.html“页面。我在我的"script.js“页面中得到了错误,该页面应该允许从quotes.js中的数组中获取一个随机引号,并在每次刷新页面时在屏幕上显示该随机引号(您可以在控制台中看到引用,而不是实际页面)。有人能向我解释一下为什么我会得到这个错误,以及如何定义变量localQuotes吗?
--这是我在Chrome:的Developers Tools Console选项卡中遇到的错误

Uncaught : localQuotes未定义在newQuote ( script.js:3 ) at script.js:7 newQuote @script.js:3(匿名)@ script.js:7
这里是我来自script.js:的代码
function newQuote() {
const quote = localQuotes[Math.floor(Math.random() * localQuotes.length)];
console.log(quote);
}
newQuote();
这里是quotes.js:中数组的较短版本
const localQuotes = [
{
text: 'The greatest remedy for anger is delay.',
author: 'Seneca',
},
{
text: 'Growth itself contains the germ of happiness.',
author: 'Pearl Buck',
},
{
text: "You can do what's reasonable or you can decide what's possible.",
author: null,
},
];
,最后是html文件中的链接JavaScript:
<!-- Script -->
<script>src="quotes.js"</script>
<script src="script.js"></script>
发布于 2021-11-19 04:58:53
我想通了。在html标签里。
而不是:
<script>src="quotes.js"</script>
<script>src="script.js"</script>
它必须是:
<script src="quotes.js"></script>
<script src="script.js"></script>
解决了!
发布于 2021-11-18 07:24:32
您的quotes.js需要对变量进行全局访问才能工作。你应该这样做:
window.localQuotes = {...}哦,你的脚本标签是错的,你有一个错误,我希望它是一个错误的时候,写这个问题,所以如果它仍然不工作,修复那个错误。
https://stackoverflow.com/questions/70015915
复制相似问题