直接在firebug控制台里面运行代码:
function test() {
console.log("1");
}
输出undefined;
加上test()之后运行,输出1和undefined。
请问,为什么会输出undefined?
天蓬老师2017-04-10 14:28:51
也许可以这样说,不指明return值都返回undenfined
function hi(){ return '123'}; hi() //只有'123'了
巴扎黑2017-04-10 14:28:51
通常 REPL(read–eval–print loop, 交互式执行环境) 会打印被输入的每个表达式的值。
function test() { console.log("1");}
大概不是一个表达式(具体我也不大清楚), 所以会打印 undefined.
而输入 test()
后,test 函数本身会打印一个 1, 然后还会打印 test()
的值,即 test 函数的返回值,即 undefined(无返回值).
阿神2017-04-10 14:28:51
从来没有遇到过这种问题,可能你文件中除了test函数还有其他东西,undefined肯定不是这里输出的。请查看输出undefined的代码在文件中的具体位置。亲测chrome和firefox浏览器,没发现如你所说的现象。