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

来源:6-2 [JavaScript]函数声明与表达式

yuandaishi

2015-03-10 16:56

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); })

写回答 关注

3回答

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

    先搞清楚什么是函数声明


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


    // 这是函数声明

    function foo() {

    }


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


    // 函数表达式

    (function foo() {

    })


    // 函数表达式

    !function foo() {

    }


    // 函数表达式

    +function foo() {

    }




    孙小美子

    一百个赞

    2015-04-23 16:45:09

    共 1 条回复 >

  • 慕九州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);

    })


    毛巳煜

    这是Jqueryr 初始加载 赋值,还是别和这个一起做记录好一点儿

    2015-04-22 23:48:51

    共 1 条回复 >

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281112 学习 · 1020 问题

查看课程

相似问题