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

sam*_*ami 7 javascript jquery

我的jquery代码是分割文件,分为2个文件.

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

function something(input){
  //does something
}
Run Code Online (Sandbox Code Playgroud)

调用此函数仅在调用者行位于同一文件中时才有效.但我需要从两个文件中调用它.

如果我将功能切换到第二个文件,我再次遇到同样的问题.同一文件中的代码可以读取它,但不能读取其他文件中的代码.

Jee*_*har 10

将您的功能放在外面,$(document).ready(function() { });为它们提供全局范围.放在其中的任何东西都无法从外部访问.

然后,您可以考虑使用命名空间来封装您的函数.这有助于避免全局命名空间的混乱.


jAn*_*ndy 7

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

fileA.js

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

mynamespace.something = function(input) {
    // do something
};
Run Code Online (Sandbox Code Playgroud)

fileB.js

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

mynamespace.something();
Run Code Online (Sandbox Code Playgroud)