javascript:这是一个有条件的任务吗?

mik*_*eum 15 javascript

来自Google Analytics分析跟踪代码:

var _gaq = _gaq || [];
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

它是条件变量赋值吗?这跟说:

if( !(_gaq) ) {_gaq = []; }
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 15

||如果它是真值,则运算符()将返回左侧,否则它将返回右侧.

它与您的第二个示例非常相似,但由于它使用了var关键字,因此它还为变量建立了本地范围.


SLa*_*aks 5

是的.

||运算符计算它的最左边的"truthy"操作数.
如果_gaq是"falsy"(如null,undefined0),它会评估到右侧([]).

  • 或者`false`或`""``(空字符串) (3认同)