我有这种情况

var fellowship = undefined;

fellowship = function(){
    return "broken";
  };

 function fellowship(){
    return "friends";
 }

console.log(fellowship);

即使我这样调用它,也永远不会返回返回“friends”的函数:
console.log(fellowship());

谁能解释一下该函数的调用方式?

最佳答案

您的代码被解释为如下所示:

 function fellowship(){
    return "friends";
 }

var fellowship = undefined;

fellowship = function(){
    return "broken";
  };

console.log(fellowship);

因此,名为“fellowship”的变量的声明将覆盖该符号与具有相同名称的函数的绑定(bind)。在那之后,您将无法调用它。

09-20 09:18