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 = 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