+1  A: 

If _gaq is false/null, it initializes a new array

It's similar to c#'s null coalesce operator ??

It's a great way to setup defaults on a function

function somefunc (a, b, c) {
   a = a || 1;
   b = b || 2;
   c = c || 3;

   return a + b + c;
}

var result = somefunc();
//result = 6;

var result = somefunc(2,4);
//result = 9;
Chad
So, this is a true OR statement. Is this done because of async?
Lynn
A: 

|| is called the default operator in javascript. By:

var _gaq = _gaq || [];

They meant: if _gaq is not defined let it be an empty array.

But what it really means is: if _gaq is falsey let it be an empty array.

So beware as the operator is not strictly compares to undefined, rather if the value is falsey. So if you got false, null, NaN or "" (empty string) you may want to avoid this shortcut.

galambalazs
Thus the dangers of a loosely typed language.
Lynn