javascript函数运行顺序的问题

  • 1

    function a() {
        console.log('1')
    }
    a()
    (function () {
        console.log('2')
    })();

运行之后

https://img.mukewang.com/5c98728d0001320d07300260.jpg

  • 2

    a()    function a() {
        console.log('1')
    }
    (function () {
        console.log('2')
    })();

如果这样就不会报错,当然如果把立即执行函数删除的话就不会报错。
请教下这是什么原因


芜湖不芜
浏览 457回答 4
4回答

千巷猫影

加分号吧function a() {         console.log('1')     }     a();     (function () {         console.log('2')     })();

侃侃无极

规范书写function a() {     console.log('1') }; a(); (function () {     console.log('2') })();

ABOUTYOU

因为缺少分号,后面的又是括号,所以第一个识别为 a()(function () {         console.log('2')     })();所以报错了(这时期望a返回一个函数),然后以一个匿名函数为参数调用再返回一个函数,再执行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript