常常由于一个页面功能模块特别多,例如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(){})中定义变量的作用域