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

foo();

function foo(){

    console.log(1);

}

foo = function(){

    console.log(2);

}

foo();

在浏览器里调试这段代码,浏览器输出如下。
https://img.mukewang.com/5c565d8600010b1c07130105.jpg

这边的undefined是什么意思?

然后我去掉了最后的一个foo,再调试,控制台输出如下:
https://img.mukewang.com/5c565d890001710706520075.jpg

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


哔哔one
浏览 453回答 1
1回答

慕的地10843

这边的undefined是什么意思?因为你最后调用的foo();没有显式指定返回值,所以默认返回了undefined。这个undefined就是控制台的输出;请问输出foo()这个是什么意思?function foo(){....}这个函数声明的返回结果是它本身,所以输出了它本身浏览器的console会把你的输入当成函数执行,然后输出返回值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript