我正在使用jQuery,我有两个不同的js文件。
file_1.js
$(document).ready(function(){
var A = 'varA';
});
file_2.js
$(document).ready(function(){
console.log(A); // will get an A is undefined because of this closure thing
});
有没有办法从另一个文件中的一个文件中访问一个变量? 我需要所有代码都在$(document).ready(...)
中我使用的一个解决方案是使变量全局化(不使用var A) 还有什么更好的吗?
答案 0 :(得分:4)
创建自己的命名空间:
var my = {};
...
$(document).ready(function(){
my.A = 'A';
}
...
$(documet).ready(function() {
console.log(my.A);
}
这样,您只有一个全局变量 my ,它充当所有“全局”对象/函数的命名空间
答案 1 :(得分:0)
Var A在函数中定义,其寿命仅限于函数的执行。你需要让它成为全球性的,这就是为什么全局变量首先存在的原因。