一、"(function(){})()"的功能
        功能描述:定义一个函数对象并执行。

        返回值:该代码段返回定义的函数对象的执行结果。

        这个写法到底是什么意思呢?

        首先我们把代码分为2个部分:"(function(){})" 和 "()"

        "(function(){})"的功能:定义一个函数对象。

        "()":执行函数并返回结果。

        下面我们来逐步分析这种写法。
二、"(function(){})()"的分步解析
        首先尝试理解以下2种描述:

        1、定义一个函数a,返回固定值1;

        对应的javascript代码片段:

        function a()
        {
                return 1;
        }

        2、定义一个对象a,该对象为函数对象,函数功能返回固定值1;

        对应的javascript代码片段:

        var a = new Object();
        a =        function()
        {
                return 1;
        }

        简化写法:

        var a = function()
        {
                return 1;
        }

        进一步简化

        var a = function(){return 1}

        3、有上可以了解到

        javascript代码片段

        var a = function(){return 1}

        实现的是定义一个变量a,a为一个对象,确切说是一个函数对象,返回固定值1;
        一个简单的问题如何调用a?

        当然是:a()
        那如果"a = function(){return 1}",a的调用又怎么写?
        "function(){return 1}" + "()"

        即:
        (function(){return 1})()
        备注:

                什么函数定义部分加个"()"?

                其实这个"()"没有特殊含义,只是把函数对象作为一个整体。
                如果不加"()"那么 就是"function(){return 1}()"这明显是一个语法错误。