我有这种情况
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)。在那之后,您将无法调用它。