Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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)之间有什么不同?_Javascript - Fatal编程技术网

匿名函数表达式和命名函数表达式(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);
};