firebug运行function输出undefined

直接在firebug控制台里面运行代码:
function test() {
console.log("1");
}
输出undefined;
加上test()之后运行,输出1和undefined。

请问,为什么会输出undefined?

阅读 5.8k
3 个回答

也许可以这样说,不指明return值都返回undenfined

function hi(){ return '123'}; hi() //只有'123'了

通常 REPL(read–eval–print loop, 交互式执行环境) 会打印被输入的每个表达式的值。

function test() { console.log("1");} 大概不是一个表达式(具体我也不大清楚), 所以会打印 undefined.
而输入 test() 后,test 函数本身会打印一个 1, 然后还会打印 test() 的值,即 test 函数的返回值,即 undefined(无返回值).

从来没有遇到过这种问题,可能你文件中除了test函数还有其他东西,undefined肯定不是这里输出的。请查看输出undefined的代码在文件中的具体位置。亲测chrome和firefox浏览器,没发现如你所说的现象。

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