Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义来自其他文件的函数_Javascript_Jquery_Function_Scope - Fatal编程技术网

Javascript 未定义来自其他文件的函数

Javascript 未定义来自其他文件的函数,javascript,jquery,function,scope,Javascript,Jquery,Function,Scope,我用$function包装这两个文件,以便在页面准备就绪时运行代码。但由于某些原因,从第二个文件中的第一个文件调用函数会给我错误引用error:test未定义 第一个文件: $(function() { function test() { alert(1); } }); 第二个文件: $(function() { test(); }); 这是因为JavaScript的作用域,您可以通过使用全局对象来避免这种情况 将变量添加到对象将使它们成为全局

我用$function包装这两个文件,以便在页面准备就绪时运行代码。但由于某些原因,从第二个文件中的第一个文件调用函数会给我错误引用error:test未定义

第一个文件:

$(function() {

    function test() {
        alert(1);
    }

});
第二个文件:

$(function() {

    test();

});

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

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

第一个文件:

$(function() {

    function test() {
        alert(1);
    }

});
$function{ window.test=函数{ 警报1; }
}; 这是因为JavaScript的作用域,您可以通过使用全局对象来避免这种情况

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

第一个文件:

$(function() {

    function test() {
        alert(1);
    }

});
$function{ window.test=函数{ 警报1; }
};谢谢你的解决方案。但是你能解释一下为什么JS没有在同一个范围内找到函数吗?@DIAMONDMAN你的函数测试不在同一个范围内,每个函数都是JS,都有自己的范围。你救了我一天!谢谢你的解决方案。但是你能解释一下为什么JS没有在同一个范围内找到函数吗?@DIAMONDMAN你的函数测试不在同一个范围内,每个函数都是JS,都有自己的范围。你救了我一天!