This question already has answers here:
Javascript || operator
(5个答案)
Is there a better way to do optional function parameters in JavaScript? [duplicate]
(28个答案)
6年前关闭。
我正在阅读一些JavaScript代码,并且看到了很多看起来像这样的代码:
通常在函数内部找到。我相信这是一个简写代码,但我不确定它的作用。
是否检查processMethod是否具有值,以及是否未将其声明为以后可以定义的函数?
顺便说一句
(5个答案)
Is there a better way to do optional function parameters in JavaScript? [duplicate]
(28个答案)
6年前关闭。
我正在阅读一些JavaScript代码,并且看到了很多看起来像这样的代码:
processMethod = processMethod || function(){};
通常在函数内部找到。我相信这是一个简写代码,但我不确定它的作用。
是否检查processMethod是否具有值,以及是否未将其声明为以后可以定义的函数?
最佳答案
换句话说:
if there is no processMethod, create it empty.
||
与布尔值一起使用,因此它检查第一个操作数processMethod
是否具有布尔等效值。如果定义了processMethod且不为null,则等效的布尔值为true
。如果processMethod未定义或为null,则布尔等效值为false
。在错误的情况下,||
查找第二个操作数的布尔等效值,它不为null,因此其布尔等效值为true
。false || true
解析为true
,因此processMethod变为function(){}
。顺便说一句
function(){}
是一个空函数,过去通常不会在processMethod()
上引发错误10-07 21:28