JavaScript函数:没有返回语句是否等同于返回undefined?

3
var f1 = () => {
    return undefined;
};

var f2 = () => {
};

var a = f1(); // undefined
var b = f2(); // undefined

我知道结果,但我想更深入地了解。这是否意味着在Javascript函数中,没有return语句等同于返回undefined


1
好的,这里没有返回值。如果一个未定义的返回值,你会怎么称呼它? :) - Federico klez Culloca
1
是的,它就是。... ... - Jonas Wilms
每个表达式都会产生一个值,否则它就是一条语句。函数调用是一个表达式。没有值的值为 undefined - deceze
@deceze 什么是语句和表达式? - skitty jelly
语句类似于 for (...);只能单独使用,不会产生值。表达式是产生值的东西,可以作为更大的表达式或语句的一部分使用。 - deceze
3个回答

5

3

这要看情况。

对于那些不作为实例使用的函数,默认返回值是undefined

对于使用new关键字调用的构造函数,默认返回this对象。

参考来源:


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接