我只是想知道,没有return语句的函数(或没有命中任何return语句)返回一个完全等同于false的值?
例如:
function foo(){}; !!foo();
如果在firebug中执行,这应该返回false(但如果我只调用foo(),则不返回任何内容).
非常感谢!
贾森
没有return语句的函数(或者在没有命中的情况下结束执行的函数)将返回undefined
.
如果你对一个undefined
值使用一元否定运算符两次,你就会得到false
.
您没有在控制台上看到任何内容,因为Firebug在未定义时不打印表达式的结果(只需尝试undefined;
在控制台输入,您将看不到任何内容).
但是,如果console.log
直接调用该函数,您将能够看到它:
function foo(){} console.log(foo()); // will show 'undefined'