javascript函数差异定义

时间:2013-09-14 07:38:40

标签: javascript

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

  1.   

    功能t1(){}

  2.   

    var t2 = function(){}

  3. t1是一个函数本身,t2是函数的引用吗?

1 个答案:

答案 0 :(得分:-2)

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

var t1 = function t1() {};

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


请记住,当使用命名函数语句(如 t1 时,var声明将被提升到范围的顶部。
这就是this example工作的原因,即使它看起来像是在定义函数之前调用函数。该函数在 sayHello 变量之上被提升,这就是它可以被使用的原因。

反面是this example,显示 t2 示例不起作用,因为'foo'函数没有被提升到顶部。