第一个问题: <script>
function(){
alert("ssss");
} </script>为什么会提示:Uncaught SyntaxError: Unexpected token (第二个问题: <script>
(function(){
alert("ssss");
}) </script>这为什么不提示错误,但没结果?第三个问题:<script>
(function(){
alert("ssss");
})() </script>这为什么对?
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
第一个是函数定义语句,需要有函数名称
function fName() {}
噫,发现第二个是执行了的,第三个不是……你改了题目吗?那我改答案……
又改……那我再改……
第二三个是函数表达式(也有称为匿名函数),不需要有函数名称
第二个没效果是因为定义了没执行,所以没有明显的效果。
第三个一般称为立即执行的函数表达式,简称 IIFE,因为执行了,所以有效果。注意有一对小括号里是函数表达式,返回一个函数,对函数进行 ()
运算就是执行函数,所以这里不光是定义,还执行了。
添加回答
举报
0/150
提交
取消