js函数直接声明和函数表达式的区别:
直接声明函数:
function test(){ }
把匿名函数复制给本地变量:
var test = function(){ }
区别:第一种方式在声明时就是一个命名的函数,无论是声明在调用之前还是在调用之后,甚至是不会执行的位置,比如return语句之后,都是整个作用于可以访问的。第二种方式是通过把匿名函数复制给变量的方式,这是一个函数表达式,在复制之前这个函数不能被任何代码访问到,即这个复制必须在调用之前完成,否则调用时会出现错误。
原文:http://www.cnblogs.com/lionisnotkitty/p/6307641.html