问一下大牛,该JS的两种写法有什么异同,可否说明一下各自的优缺点,thks

第一种:
var TEST = function () {
return {

    init: function ()
    {
        TEST.HelloWorld();
    },

    HelloWorld: function ()
    {
        alert("Hello");
    },
};

}();

第二种:
var TEST = function () {
return {

    init: function () {        
        HELLO();         
    }

};

}();
function HELLO(name) {
alert(name);
}
假设上面都是可以正常调用进方法中,请帮忙解释一下两种的写法上有什么差异,或者各自的优缺点呢,再次感谢

在第一种里面。HelloWorld是属于TEST里面的一个属性方法,而在第二种里面,HELLO是一个全局方法;就类似js的闭包原理;
http://www.jb51.net/article/24101.htm
建议你看下这个