命名函数表达式:var bar = function(){}& var bar = function foo(){}

时间:2018-04-09 06:55:32

标签: javascript function

任何人都可以帮助理解以下两个函数表达式之间的区别:

a) var bar = function() {};
b) var bar = function foo() {};

我一直在写a)写的方式。 在b)中将函数名称赋予“foo”的重要性是什么?

a)如何与b)不同?

2 个答案:

答案 0 :(得分:6)

方法a:一个名为bar的变量,它引用匿名函数。函数只能在范围内的任何位置使用变量bar来使用。

方法b:变量名bar,引用命名函数foofoo仍然可以在名称范围内的任何位置使用bar

正如Paulpro所说 - foo只在函数本身的范围内,对于递归函数很有用。

答案 1 :(得分:0)

命名函数可能不会影响代码,但它对调试非常有用,在构造函数中,它定义了原型的名称。