我正在浏览这个关于函数声明和函数表达式之间区别的博客。
它给出了这两个例子。他们称第一个为“匿名函数表达式”,第二个为“命名函数表达式”。
// 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”的意义何在?一般来说,为什么要使用命名函数表达式?