下面这段代码均在外部JS文件中。
代码段1(function (){
var w=this;
w.a="你好";
w.b=function(s)
{alert(s);}
})();
代码段2function A(){
var w=this;
w.a="你好";
w.b=function(s)
{alert(s);}
}

解决方案 »

  1.   

    上面那个在加载的时候就已经执行了,下面那个必须调用。
    上面那个可以这样理解
    f = function A(){
           var w=this;
           w.a="你好";
           w.b=function(s)
           {alert(s);}
        }
    f()
    由于f 等于右边的function,所以就用右边的function代替f,为表示function是一个整体就加个括号变成
    (function (){
    var w=this;
    w.a="你好";
    w.b=function(s)
    {alert(s);}
    })();