JS中自动执行函数小结

请看如下两个函数:函数

function a(){    
alert("a") 
}//函数1

var b= function(){     
alert("b") 
}//函数2

它们俩有何不一样呢?翻开书,做者会告诉咱们,前者为函数声明,后者为函数表达式。函数声明做为一种声明,固然会在预编译阶级有所动做(声明提早),而函数表达式则不会。另外一个区别是,函数声明是语句,语句是没有返回值,不能直接加一对括号让它们执行,例如:spa

function a (){  
alert("a") 
}();//报错

var b = function(){   
alert("b") 
}();//正确

纠正:给 function 外套一对括号就不报错了,括号是表达式,是表达式就有返回值,因此能够在后面加一对括号让它们执行,例如:code

(function a (){   
alert("a") 
})();//没有问题

另外,咱们知道,函数名的做用就是用来引用的,如今没用了,咱们是否是能够把它去掉呢?io

(function (){  
alert(arguments.callee) 
})();//弹出自身

注意:JS中的函数不主动调用时不会加载的时候运行的,下面两种方法均可以:编译

(function abc(){
alert(22);
})();//让函数自动运行

function abc(){
alert(22);
}
abc();//让函数自动运行
相关文章
相关标签/搜索