js函数的声明和表达式的执行

var foo = function(){ /* code */ };//函数的表达式
function(){ /* code */ } //函数的声明 
函数的表达式可以直接在后面加个括号var foo = function(){ /* code */ }();调用,但是函数的声明不行,会报错出来
!function () { /* code */ } (); 
new function () { /* code */ }
new function () { /* code */ } () // 如果需要传递参数,只需要加上括弧()

为什么这样可以调用,因为

由于括弧()和JS的&&,异或,逗号等操作符是在函数表达式和函数声明上消除歧义的


 

 

posted @ 2019-06-29 22:30  Dainney  阅读(232)  评论(0)    收藏  举报