Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';将函数声明为var有什么好处?_Javascript_Function_Functional Programming - Fatal编程技术网

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

Javascript 什么';将函数声明为var有什么好处?,javascript,function,functional-programming,Javascript,Function,Functional Programming,我在很多剧本中都看到过这一点。什么时候做比较好 var foo = function() { console.log("Foo!"); }; 很明显,函数名(){}更紧凑并且似乎做同样的事情?起初,我认为它是可以使用foo作为变量的,但这两种方法都可以。它们甚至可以通过任何一种方法重新声明 我知道var foo=function(){}在运行时创建函数,但我不认为这有什么好处,因为它会导致崩溃,我认为这是不必要的。当您将函数定义为: function foo() { console.log(

我在很多剧本中都看到过这一点。什么时候做比较好

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

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


我知道
var foo=function(){}在运行时创建函数,但我不认为这有什么好处,因为它会导致崩溃,我认为这是不必要的。

当您将函数定义为:

function foo() { console.log("Foo!"); }
简单地说,JS引擎在执行代码之前加载此函数。但是,如果使用var声明函数,则仅当js引擎开始执行时才会对其进行处理

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

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

var foo1 = function(){};

@四是正确的,就像我说的,我知道区别,我只是不知道点,比如说,基于一个条件,你想要动态地创建两个不同的函数。用
函数…()
方法可以吗?我明白了<代码>if(bar)函数foo(){console.log(“bar”);}else函数foo(){console.log(“foo”);}在解析时创建,因此尽管有
bar
的值,
foo
始终是最后声明的版本这有什么好处?@Supuhstar在特定情况下可能不需要某些函数,但在其他情况下可以实现。
foo(); // Fine
foo1(); //Error

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

var foo1 = function(){};