2012-10-10 35 views
0

可能重复:
JavaScript: var functionName = function() {} vs function functionName() {}
What is the difference between these 2 function syntax types命名与匿名功能:完全相同吗?

在JavaScript中,我们可以定义一个函数,这将在以后的时间被调用,使用下面的方法之一。也就是说,使用一个命名函数并将一个匿名函数分配给一个变量。

function myAdd(a, b) { 
    console.log(a + b); 
} 
myAdd(3, 2); 

var mySubtract = function (a, b) { 
    console.log(a - b); 
} 
mySubtract(3, 2); 

是他们基本上总是相同?相同的,我的意思是没有特殊的背景可能会使他们不同。例如,根据上下文,结果可能会导致不同的结果multiple left-hand assignment has some subtleties

回答

3

函数声明被提升(并且可以在范围中的任何地方使用),函数表达式只能在赋值后才可用。

+0

函数_hoisting_是否也适用于多个文件?例如,http://stackoverflow.com/q/10511845/583539 – moey

+0

不,不同的脚本是独立执行的。在那里看到你的答案 – Bergi