我正在阅读一篇关于函数声明和函数表达式区别的博客。
它给出了以下两个例子。第一个称为“匿名函数表达式”,第二个称为“命名函数表达式”。
// anonymous function expression
var a = function(){
return 3;
}
// named function expression
var b = function bar(){
return 3;
}
我在Chrome的JS控制台中测试了这两个功能,结果如下:
a()
=> 3
b()
=> 3
bar()
=> bar is not defined
我的问题是:在第二个函数表达式声明中,“bar”的意义是什么?一般来说,为什么会使用命名函数表达式?