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

函数声明不是可以立即调用的吗

yuandaishi 函数声明不是可以立即调用的吗? $(document).ready(function(){ (function foo(){ console.log(5+6); alert(11); }()); //foo(5,6); }) 这样写能输出啊。 或者这样,括号在外面,也能 $(document).ready(function(){ (function foo(){ console.log(5+6); alert(11); })(); //foo(5,6); })

提问者:yuandaishi 2015-03-10 16:56

个回答

  • Bosn
    2015-03-11 10:52:02

    先搞清楚什么是函数声明


    一个完整语句,以function开头,例如:


    // 这是函数声明

    function foo() {

    }


    而用括号括起来的,或者前面有一元操作符的,都是函数表达式,例如:


    // 函数表达式

    (function foo() {

    })


    // 函数表达式

    !function foo() {

    }


    // 函数表达式

    +function foo() {

    }




  • 慕九州5249392
    2019-12-20 09:30:22

    看完js一轮了才知道,谢谢老师

  • yuandaishi
    2015-03-12 15:53:22

    原来是这样啊,多谢解疑,那个括号放外面和里面有什么区别?

    刚刚试了一下,原来还可以这样给参数赋值,

    $(document).ready(function(){

    var add=function(a,b){

    console.log(a+b);

    }(8,9);

    })