Javascript 在2个文件中的代码之间共享js函数

Javascript 在2个文件中的代码之间共享js函数,javascript,jquery,Javascript,Jquery,我的jquery代码被划分为两个文件 在其中一个文件中,我定义了一个函数 function something(input){ //does something } 仅当调用者行位于同一文件中时,调用此函数才有效。但我需要从两个文件中调用它 如果我将函数切换到第二个文件,同样会遇到同样的问题。同一文件中的代码可以读取,但另一个文件中的代码不能读取 您需要创建一个名称空间对象,该对象在您的文件之间共享 fileA.js window.mynamespace = window.mynamesp

我的jquery代码被划分为两个文件

在其中一个文件中,我定义了一个函数

function something(input){
  //does something
}
仅当调用者行位于同一文件中时,调用此函数才有效。但我需要从两个文件中调用它

如果我将函数切换到第二个文件,同样会遇到同样的问题。同一文件中的代码可以读取,但另一个文件中的代码不能读取

您需要创建一个名称空间对象,该对象在您的文件之间共享

fileA.js

window.mynamespace = window.mynamespace || {};

mynamespace.something = function(input) {
    // do something
};
window.mynamespace = window.mynamespace || {};

mynamespace.something();
fileB.js

window.mynamespace = window.mynamespace || {};

mynamespace.something = function(input) {
    // do something
};
window.mynamespace = window.mynamespace || {};

mynamespace.something();

将函数放在
$(document).ready(function(){})之外为它们提供全局范围。放置在其中的任何东西都无法从外部访问


然后可以研究使用名称空间来封装函数。这有助于避免全局名称空间的混乱。

我正在使用JQuery,我的每个文件都是这样开始的。我应该将名称空间放在哪里?文件外面还是里面准备好了<代码>$(文档).ready(函数(){})
@sami:设置或接收该对象应该是每个文件中发生的第一件事。此外,这是一个简化版本。你可以为这个问题创建更复杂的解决方案。我同意这是最好的解决方案。在JavaScript()中还进行了一些导出/导入的实验,但将方法/对象保存在全局对象(如窗口)上是最好的方法……我同意这是一个好的解决方案,但严格来说并不需要创建此对象(因此我不同意“您需要”)。
$(document).ready(function(){})之外的函数
和其他名称空间将在页面上全局可用。