javascript函数在没有return语句的情况下返回什么?

我只是想知道,没有返回语句(或没有任何返回语句)的函数返回一个完全等于false的值?

例如:

function foo(){}; !!foo(); 

这应该返回false如果在萤火虫中执行(但不会返回任何东西,如果我只是称为foo();)。

非常感谢!

贾森

没有返回语句的函数(或者没有结束它的执行结果)将返回undefined

如果你对一个undefined值使用一元否定运算符两次,你会得到false

在控制台上没有看到任何东西,因为Firebug在未定义时不会打印expression式的结果(只要尝试在控制台上键入undefined;并且什么也看不到)。

但是,如果直接调用console.log函数,您将能够看到它:

 function foo(){} console.log(foo()); // will show 'undefined' 
 <html> <body> <script> function a() {} alert(a()); </script> </body> </html> 

找出,试试这个在萤火虫控制台:

 alert((function(){})());