第一个问题:
<script>
function(){
alert("ssss");
}
</script>
为什么会提示:Uncaught SyntaxError: Unexpected token (
第二个问题:
<script>
(function(){
alert("ssss");
})
</script>
这为什么不提示错误,但没结果?
第三个问题:
<script>
(function(){
alert("ssss");
})()
</script>
这为什么对?
第一个是函数定义语句,需要有函数名称
第二三个是函数表达式(也有称为匿名函数),不需要有函数名称
第二个没效果是因为定义了没执行,所以没有明显的效果。
第三个一般称为立即执行的函数表达式,简称 IIFE,因为执行了,所以有效果。注意有一对小括号里是函数表达式,返回一个函数,对函数进行
()
运算就是执行函数,所以这里不光是定义,还执行了。