function 表达式与函数声明

1.
var a = function(){}
2.
function a(){}

同样是function,但是其实是两码事,
第一种,function相当于一个表达式符号。
第二种,是一个函数声明。

所以有了下边的区别:
1.var a = function(){}();
2.function a(){}();

第一种就能执行,第二种无法执行。
原因就是表达式是可以被执行的,而函数语句块是不能直接被执行的。

(function a(){})()
这样就能执行了,这里是通过(),把里边的函数强制转换成了表达式。

posted @ 2012-02-03 15:49  潴哥  阅读(365)  评论(0)    收藏  举报