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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

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

例如:

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

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

提问于
用户回答回答于

一个没有返回语句的函数(或者是一个没有结束它的执行就会返回)undefined

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

您没有看到控制台上的任何内容,因为Firebug在未定义时不打印表达式的结果(只需undefined;在控制台上键入内容,而不会看到任何内容)。

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

function foo(){}

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

扫码关注云+社区