gpt4 book ai didi

javascript - 为什么我无法从另一个 .js 文件访问一个 .js 文件中定义的 JavaScript 函数?

转载 作者:太空狗 更新时间:2023-10-29 16:49:54 26 4
gpt4 key购买 nike

我是 JavaScript 的新手,我正在按照教程试验全局作用域。

在本教程中我有 3 个文件:

1) index.htm:

<html>
<head></head>

<body>
<h1>HELLO WORLD !!!</h1>

<script src="app.js"></script>
<script src="utility.js"></script>

</body>
</html>

如您所见,我包含了 2 个 JavaScript 文件。

2) app.js:

var person = 'Torny';   // When I call the logPerson() function this line override the person variable value into the global stack

//console.log(person);

logPerson();

3) utility.js 其中定义了 logPerson() 函数,定义在 app.js 文件中:

var person = 'Steve';

function logPerson() {
console.log(person);
}

好的,所以我预计会有以下行为:

app.js 文件中设置字符串 'Tony' 作为 person 变量的值,调用 logPerson() 函数在 utility.js 文件中声明,然后在控制台中打印“Tony”。

问题是,当我尝试在 FireFox 中打开 index.htm 文件时,我进入了 FireBug 控制台,而不是“Tony”值,我得到了这个错误消息:

ReferenceError: logPerson is not defined

所以它似乎从 app.js 文件中看不到定义到 utility.js logPerson() 函数strong> 文件并导入。

为什么?我错过了什么?怎么了?

最佳答案

在 javascript 中,文件的顺序很重要。您需要先加载定义您的功能的脚本,然后才能使用它。切换 2 <script>标签

<body>
<h1>HELLO WORLD !!!</h1>

<script src="utility.js"></script>
<script src="app.js"></script>

</body>
</html>

关于javascript - 为什么我无法从另一个 .js 文件访问一个 .js 文件中定义的 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33417892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com