我正在阅读一些javascript代码,我看到很多代码看起来像这样:
processMethod = processMethod || function(){};
通常在函数内部找到它。我相信这是一个简写代码,但我不确定它是做什么的。
是否检查processMethod是否有值,以及它是否将其声明为可以在以后定义的函数?
答案 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
的值。如果没有,它会为它分配一个空对象。