1

定义函数时,这两种方式有什么区别:

  1. 函数 t1() {}

  2. var t2 = 函数() {}

t1 是函数本身而 t2 是对函数的引用吗?

4

1 回答 1

-2

第一个是使用函数语句,相当于这样做:

var t1 = function t1() {};

它与您的t2示例非常相似,一个区别是t2没有命名;这是一个存储在t2变量中的匿名函数。


请记住,当使用命名函数语句(如t1时,var 声明被提升到作用域的顶部。
这就是这个示例有效的原因,尽管它看起来像是在定义函数之前调用了该函数。该函数被提升到sayHello变量之上,这就是它可以使用的原因。

反面是这个例子,表明t2例子不起作用,因为 'foo' 函数没有被提升到顶部。

于 2013-09-14T07:43:51.227 回答