匿名函数表达式和命名函数表达式(JavaScript)之间有什么不同?
我的代码如下:匿名函数表达式和命名函数表达式(JavaScript)之间有什么不同?,javascript,Javascript,我的代码如下: //anonymous function expression var a = function() { return 3; } //named function expression var a = function bar() { return 3; } 那么,它们之间有什么不同呢?(技术、用法)主要区别是 您可以检查函数名(例如,堆栈跟踪更具可读性) 该函数可以是递归的 请注意,函数 var fibo = function(n) { retu
//anonymous function expression
var a = function() {
return 3;
}
//named function expression
var a = function bar() {
return 3;
}
那么,它们之间有什么不同呢?(技术、用法)主要区别是
- 您可以检查函数名(例如,堆栈跟踪更具可读性)
- 该函数可以是递归的
var fibo = function(n) {
return n<2 ? 1 : fibo(n-1) + fibo(n-2);
};
相反,它是真正的递归函数,无论以后绑定到什么
f
,它都将继续调用自身。没有具体区别,但使用命名函数可以提高stacktraces的可读性,以防发生可能的
var f = function fibo(n) {
return n<2 ? 1 : fibo(n-1) + fibo(n-2);
};