其他文件中的函数未定义

dt_*_*dt_ 1 javascript jquery scope function

当页面准备好时,我用 $(function) 包装两个文件以运行代码。但是由于某些原因,从第二个文件中的第一个文件调用函数给了我错误“ReferenceError: test is not defined”。

第一个文件:

$(function() {

    function test() {
        alert(1);
    }

});
Run Code Online (Sandbox Code Playgroud)

第二个文件:

$(function() {

    test();

});
Run Code Online (Sandbox Code Playgroud)

Moh*_*bas 6

这是因为 JavaScript 作用域,您可以通过使用Window全局对象来避免这种情况。

将变量添加到Window对象将使它们成为全局变量,因此您可以从任何地方访问它们。

第一个文件:

$(function() {

    window.test = function () {
        alert(1);
    }

});
Run Code Online (Sandbox Code Playgroud)

第二个文件:

$(function() {

    test();

});
Run Code Online (Sandbox Code Playgroud)