在$ {document).ready之外使用jquery变量

Sal*_*ali 0 jquery

我正在使用jQuery,并且我有2个不同的js文件。

file_1.js

$(document).ready(function(){
    var A = 'varA';
});
Run Code Online (Sandbox Code Playgroud)

file_2.js

$(document).ready(function(){
    console.log(A); // will get an A is undefined because of this closure thing
});
Run Code Online (Sandbox Code Playgroud)

有什么方法可以从一个文件访问另一个文件的一个变量?我需要所有代码都在$(document).ready(...)

我使用的一种解决方案是使变量成为全局变量(不使用var A),还有什么更好的方法吗?

Han*_*eld 5

创建自己的名称空间:

var my = {};

...

 $(document).ready(function(){
     my.A = 'A';
 }

 ...

 $(documet).ready(function() {
     console.log(my.A);
 }
Run Code Online (Sandbox Code Playgroud)

这样,您只有一个全局变量my作为所有“全局”对象/函数的命名空间