0

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

文件_1.js

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

文件_2.js

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

有没有办法从另一个文件中访问一个文件中的一个变量?我需要所有代码都在 $(document).ready(...)

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

4

2 回答 2

5

创建自己的命名空间:

var my = {};

...

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

 ...

 $(documet).ready(function() {
     console.log(my.A);
 }

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

于 2012-09-03T13:06:33.137 回答
0

Var A 在函数中定义,其生命周期仅限于函数的执行。您需要使其全球化,这就是为什么首先存在全局变量的原因。

于 2012-09-03T13:04:11.050 回答