函数表达式执行的问题

函数表达式执行的问题

问题描述:

var $aaa = (function() { return function(a){ alert(a); } } )(); $aaa(10); 这样的一段代码在执行时,如果在第一个分号前的括号中写上10,为什么不会弹出10,而$aaa(10);这样写会弹出10呢??

 var $aaa = (
    function() { 
        return function(a)
        { 
            alert(a); 
        } 
    } 
)()(10); 

执行的匿名函数返回了函数,赋值给$aaa变量,只是申明了函数,并没有执行。。还没搞清楚?