在JS中,processMethod = processMethod ||是什么功能(){};做?

时间:2014-01-31 04:53:55

标签: javascript shorthand

我正在阅读一些javascript代码,我看到很多代码看起来像这样:

processMethod = processMethod || function(){};

通常在函数内部找到它。我相信这是一个简写代码,但我不确定它是做什么的。

是否检查processMethod是否有值,以及它是否将其声明为可以在以后定义的函数?

2 个答案:

答案 0 :(得分:1)

用语言说:

if there is no processMethod, create it empty.

||适用于布尔值,因此会检查第一个操作数processMethod是否具有布尔值等效值。如果定义了processMethod而不是null,则布尔等效值为true。如果processMethod未定义或为null,则布尔等效值为false。在false的情况下,||查找第二个操作数的布尔等价物,它不为空,因此它的布尔等效值为true

false || true解析为true,因此processMethod变为function(){}

Btw function(){}是一个空函数,过去常常不会在processMethod()上抛出错误

答案 1 :(得分:1)

它基本上检查它是否存在。如果它不存在,请指定它。

function doSomething(o) {
    o = o || {};
}

在上述情况下,它会检查是否传递了o的值。如果没有,它会为它分配一个空对象。