为什么这个随机引号生成器中没有定义 const 变量 localQuotes?

Why is const variable localQuotes not defined in this random quotes generator?

问题在这里解释得更清楚: 我正在使用 JavaScript 创建一个简单的随机报价生成器。我在一个名为“quotes.js”的文件中的一个数组中有数百个引号,然后在一个名为“script.js”的文件中使其工作的实际函数都链接到“[=57=” ]“ 页。我在我的“script.js”页面中收到错误,该页面应该允许从 quotes.js 中的数组中获取随机引号,并在每次刷新页面时在屏幕上显示该随机引号(您会在控制台中看到引用而不是实际页面)。有人可以向我解释为什么会出现此错误以及如何定义变量 localQuotes 吗?

这是我在 Chrome 的 Developers Tools Console 选项卡中遇到的错误:

Uncaught ReferenceError: localQuotes is not defined at newQuote (script.js:3) at script.js:7 newQuote @ script.js:3 (anonymous) @ 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>

您的 quotes.js 需要授予对变量的全局访问权限才能使其正常工作。您应该这样做:

window.localQuotes = {...}

哦,你的脚本标签是错误的,你那里有一个错字,我在写问题时预计它是一个错字所以如果它仍然不起作用,请更正那个错字。

我明白了。它在 html 标签中。

而不是:

<script>src="quotes.js"</script>
<script>src="script.js"</script>

需要:

<script src="quotes.js"></script>
<script src="script.js"></script>

已解决!