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(){})());