Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
定义函数时,这两种方式有什么区别:
函数 t1() {}
var t2 = 函数() {}
t1 是函数本身而 t2 是对函数的引用吗?
第一个是使用函数语句,相当于这样做:
var t1 = function t1() {};
它与您的t2示例非常相似,一个区别是t2没有命名;这是一个存储在t2变量中的匿名函数。
请记住,当使用命名函数语句(如t1)时,var 声明被提升到作用域的顶部。 这就是这个示例有效的原因,尽管它看起来像是在定义函数之前调用了该函数。该函数被提升到sayHello变量之上,这就是它可以使用的原因。
反面是这个例子,表明t2例子不起作用,因为 'foo' 函数没有被提升到顶部。