猿问

js匿名函数的一个问题

第一个问题:

        <script>
            function(){
                alert("ssss");
            }        </script>

为什么会提示:Uncaught SyntaxError: Unexpected token (

第二个问题:

        <script>
            (function(){
                alert("ssss");
            })        </script>

这为什么不提示错误,但没结果?

第三个问题:

<script>
            (function(){
                alert("ssss");
            })()        </script>

这为什么对?


MM们
浏览 445回答 1
1回答

慕姐4208626

第一个是函数定义语句,需要有函数名称function&nbsp;fName()&nbsp;{}噫,发现第二个是执行了的,第三个不是……你改了题目吗?那我改答案……又改……那我再改……第二三个是函数表达式(也有称为匿名函数),不需要有函数名称第二个没效果是因为定义了没执行,所以没有明显的效果。第三个一般称为立即执行的函数表达式,简称 IIFE,因为执行了,所以有效果。注意有一对小括号里是函数表达式,返回一个函数,对函数进行&nbsp;()&nbsp;运算就是执行函数,所以这里不光是定义,还执行了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答