What does this Javascript line do? [duplicate]
Possible Duplicate:
What is “var _gaq = _gaq || []; ” for ?
var _gaq = _gaq || [];
I'm not sure what this line is doing? Can someone explain this to me?
This is similar to doing
var _gaq = _gaq ? : _gaq : [];
It means that if _gaq
is set, it'll set it to _gaq
, otherwise it will default to a new empty array.
var
means it's local scope_gaq
is the name of the variable||
means or
It's saying that if _gaq
doesn't already exist, set it to a new array which is what []
means.
It declares a variable named _gaq
. If that variable was already defined, and is a truthy value, then the line is equivalent to writing
var _gaq = _gaq;
If _gaq
is a falsy value, then the newly declare variable is an empty array.
Some reference on truthiness and falsiness in JavaScript:
- http://11heavens.com/falsy-and-truthy-in-javascript
- http://javascript.crockford.com/style2.html
It checks if _gaq is defined if not assigns an array object to _gaq.
its equivalent to
if(!_gaq){
var _gaq = [];
}
精彩评论