将函数声明为var有什么好处?

时间:2014-01-16 14:58:12

标签: javascript function functional-programming

我在很多剧本中都看过这个。什么时候做得更好

var foo = function() { console.log("Foo!"); };

大于

function foo() { console.log("Foo!"); }

很明显function name(){}更紧凑,似乎做同样的事情?起初,我认为你可以使用foo作为变量,但你仍然可以使用这两种方法。它们甚至可以通过任何一种方法重新声明。

我知道var foo = function(){};在运行时创建了这个函数,但我没有看到它的优点,因为它可能导致崩溃,我认为这是不需要的。

1 个答案:

答案 0 :(得分:0)

将函数定义为:

function foo() { console.log("Foo!"); }

简单来说,JS引擎在执行代码之前加载此函数。但是,如果使用var声明函数,则仅在js引擎开始执行时处理它。

foo(); // Fine
foo1(); //Error

function foo() { console.log("Foo!"); }

var foo1 = function(){};