$(function(){})中定义变量的作用域

常常由于一个页面功能模块特别多,例如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

你可能感兴趣的:(jquery问题)