问答详情
源自:6-2 [JavaScript]函数声明与表达式

怎么理解函数表达式立即被调用

http://img.mukewang.com/5805d1ef0001ebc604690567.jpg

其实一直都不太理解函数表达式里面的这个截图里面的第二个和第三个是什么意思。就是在后面加个括号,就是立即调用。那为什么我这么写就会报错呢?

document.write((function(a,b){
 			return a +b;
 		})();)

就是我写了一个函数表达式,然后立马要去调用。输出。为什么不可以?然后下面的那个return那个函数表达式也不太懂 可以举个例子吗

提问者:深夏之叶 2016-10-18 15:43

个回答

  • 火星漫步
    2016-10-18 21:57:02

    (function (){

    })()就是一个匿名函数自执行;

    var c = function (){

    }();一样,只不过是匿名的,为了不让浏览器认为是函数声明,所以前面加了( ); 

    return function (){

    }就是将函数作为返回值抛出,没什么好说的。

    document.write((function(a,b){

               return a +b;

           })();)

    是因为你write()里面有“;”write本来就是一个函数,函数里面有";"肯定会报错,