猿问

JS中的语句执行问题?

function fn() {

    alert ('wo')

}

console.log(fn())

为何当我执行上述代码的时候,首先弹出了弹出框,这个并没有什么问题,console.log则输出undefined? 这个undefined是那里来的?


紫衣仙女
浏览 557回答 6
6回答

达令说

JavaScript高级程序设计(第3版)第64页,函数不设置return,默认放回undefined。

桃花长相依

在与控制台交互时,控制台里会自动打印你输入的表达式的值,比如你输入1+1再按回车,它就给你打印个2,2即1+1的值,当你输入console.log(fn())的时候,首先会打印一个fn()的返回值,即undefined——因为函数fn没有返回值,然后又打印出第二个undefined,这是因为console.log调用之后没有也没有返回值,所以打印undefined。

波斯汪

undefined 是因为你的函数没有返回值,可以和以下代码作为对比function fn() {    alert ('wo')    return 'wo'}console.log(fn())

江户川乱折腾

函数没有返回值

HUWWW

return返回'wo'即可

慕丝7291255

函数分为两种情况:1 指定了返回值,即 return xx;2 没有指定返回值,这个时候默认返回undefined。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答