空函数和只返回任何内容的函数之间是否存在差异?

XP1*_*XP1 1 javascript

可能重复:
有和没有return语句的函数之间有区别吗?

空函数和只返回任何内容的函数之间是否存在差异?

空功能:

function a() {
}
Run Code Online (Sandbox Code Playgroud)

只返回任何内容的函数:

function b() {
    return;
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*ski 6

不,return如果在第一个中省略,则暗示.他们两个都回来了undefined.

// In the console:
a();
// undefined
b();
// undefined
Run Code Online (Sandbox Code Playgroud)

为了进一步扩展,这与返回不同null:

function c() {
    return null;
}

c();
// null (which is a value, albeit a null one)

// Because
a() === c();
// false
null === undefined;
// false
Run Code Online (Sandbox Code Playgroud)

  • `typeof`结果与此无关.`undefined`和`null`的值一样多,而`null`不是对象,即使`typeof`告诉我们它是. (2认同)