关于浏览器控制台的一个问题!

foo();
function foo(){
    console.log(1);
}
foo = function(){
    console.log(2);
}
foo();

在浏览器里调试这段代码,浏览器输出如下。
图片描述

这边的undefined是什么意思?

然后我去掉了最后的一个foo,再调试,控制台输出如下:
图片描述

请问输出foo()这个是什么意思?
求大牛告知,谢谢!!!!

阅读 2.1k
1 个回答

这边的undefined是什么意思?

因为你最后调用的foo();没有显式指定返回值,所以默认返回了undefined。这个undefined就是控制台的输出;

请问输出foo()这个是什么意思?

function foo(){....}

这个函数声明的返回结果是它本身,所以输出了它本身

浏览器的console会把你的输入当成函数执行,然后输出返回值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题