我试图通过使用多个专注于某些特定任务的 javascript 文件来分离应用程序的逻辑。
JS 文件中定义的函数需要在文件本身之间进行访问。
我知道调用函数的顺序很重要,定义“全局”与“本地”范围也很重要。在以下文件中,文件未包装在函数中,因此我认为它们位于全局范围内。
file1.js
function addingToDOM(stuff) {
...
...
}
file2.js
// call addingToDOM
addingToDOM(someStuff);
function doOtherTHings() {
...
...
}
HTML(文件顺序)
<script src="file1.js"></script>
<script src="file2.js"></script>
错误
addingToDOM is not defined
file2.js
来电 file1.js
之后file1.js
在 HTML 中。
我不明白为什么它没有定义。
最佳答案
您的 JS 文件应该只定义函数并调用同一 JS 文件中的函数。如果要从另一个 JS 文件中调用函数,则需要首先加载该 JS 文件。我会将所有调用代码(有点像其他语言(例如 C)中的“main”函数)放在一个位置,最好放在 html 文档的末尾。毕竟,其他 JS 文件(和标记)已加载。这并不是说您不能从 file2 调用 file1 中的函数,而是它们都应该在代码开始运行之前完全加载。
您的设置应该按原样工作,但请确保调用第一个需要运行的函数,该函数不是在 JS 文件中运行,而是在 HTML 文档的末尾运行。
关于javascript - 如何在不同的JS文件之间访问函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14419392/