如何在单独的文件中调用函数 js.

how to call function in seperate files js?

本文关键字:调用 函数 js 文件 单独      更新时间:2023-09-26

>我在两个文件 js 中定义了一些函数,file1 和 file2。在每个文件中,所有函数都在$(document).ready(function(){});内。我小心翼翼地将 file1 放在 php 文件中 file2 上方,并从 file2 中的 file1 调用一个函数,但控制台返回未定义的函数。这是怎么回事?

如果函数是在文档就绪处理程序中定义的,则它们仅存在于该范围内,并且无法在其他任何地方访问。

最简单的解决方案是在文档就绪处理程序之外定义函数,并在就绪处理程序内部或彼此内部使用它们:

文件 1:

function myFunc() {
    myOtherOtherFunc();
}
$(document).ready(function () {
    myOtherFunc();
});

文件 2:

function myOtherFunc() {
}
function myOtherOtherfunc() {
}
$(document).ready(function () {
    myFunc();
});
应该

注意的是,这会将函数放在全局范围内,并且应该将其保持在最低限度,因此,如果您发现文件之间需要共享很多内容,则应考虑使用命名空间甚至更复杂的功能,例如模块加载器(例如require.js)。

因为你在另一个函数中定义你的函数,所以它们不是全局函数。这是一件事。

有几种方法可以解决这个问题:

  1. 使它们成为全局变量(blech),或者

  2. 使用 AMD 机制,如 RequireJS,或

  3. 使用引用所有函数的单个全局

最后一个看起来像这样:

var MyApp = MyApp || {};
$(document).ready(function() {
    MyApp.myFunction = function() {
        // ...
    };
});

然后,您可以通过MyApp.myFunction()从任何地方呼叫它们。

$(document).ready 应该在 HTML 页面上调用。我建议你将各个js文件中的函数分开,并从页面上的document.ready调用这些函数。我认为这应该可以解决问题。