常常由于一个页面功能模块特别多,例如tab页。我们想把每个模块的功能写在一个js中,但是为了区分开,我们在一个模块中定义了多个$(function(){}),定义在$(function(){})中的作用域会怎么样呢?下面举几个例子
(1)$(function(){
var a=1;
})
$(function(){
alert(a);
})
这时会报错,a是undefined,因为变量a中能在定义的$(function(){})中有效,那么,我们真的想定义一个公用的变量怎么办呢?我总结了一下。
方法一:
(1)$(function(){
window.a=1;
})
$(function(){
alert(a);
})
输出:1
注意:不要写反了,如果在下面$(function(){})中定义,也会显示a为undefined,因为$(function(){})写在前面的先加载。
方法二:
(2)
var a=1;
$(function(){
alert(a);
})
输出:1
相关博文
$(function(){})中定义变量的作用域