var f1 = () => {
return undefined;
};
var f2 = () => {
};
var a = f1(); // undefined
var b = f2(); // undefined
我知道结果,但是我想更深入地了解。这在Javascript函数中意味着没有return语句等同于return undefined
吗?
答案 0 :(得分:5)
我知道结果,但是我想更深入地了解。在Javascript函数中,这是否意味着没有
return
语句与return undefined
相同?
实际上是 ,是的。规范区分了两者,但以务实的术语进行了区分,调用的函数“掉到了尽头”与return;
与return undefined;
的调用结果完全相同结果为:undefined
。
在my answer to the dupetarget中,(我应该意识到!)我解释了规范是如何区分它们的,但是同样,这只是规范的区别,不是您在实际代码中可以看到的。 / p>
答案 1 :(得分:2)
答案 2 :(得分:1)
如果没有返回值,则返回值将为 undefined ,与执行return基本上相同; (无值),因为函数最终定义时将“返回”(有关返回的信息,请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return)
如果您初始化一个函数(更像一个类),则返回值将代替该函数的实例。