[1]函数表达式
  [1.1]引用执行
var foo = function(){
    alert(1);
};
foo();//弹出1
   
  [1.2]传参执行
var foo = function(i){
    alert(i);//弹出1}(1);
 
 
[2]三种函数自执行的错误写法
  [2.1]出错提示函数声明需要一个名字
function(){
    alert(1);
}();
 
  [2.2]出错提示少右括号
function abc(){
    alert(1);
}();
 
  [2.3]无错,但foo函数未执行
function abc(){
    alert(1);
}(1);
 

[3]两种函数自执行的正确写法
  [3.1]
(function(){
    alert(1);
}());//弹出1
 
  [3.2]
(function(){
    alert(1)
})();//弹出1
 

[4]两种函数自执行传参的写法
  [4.1]    
(function(i){
    alert(i)
})(0);//弹出0
 
  [4.2]
(function(i){
    alert(i)
}(0))//弹出0