什么是_gaq || []完成Google Analytics电子商务跟踪?

时间:2010-07-15 17:05:03

标签: javascript html5 e-commerce google-analytics

  

可能重复:
  what’s the javascript “var _gaq = _gaq || []; ” for ?

在Google Analytic的电子商务跟踪代码的异步示例中,数组的声明为:

var _gaq = _gaq || [];

我正在努力了解他们在这里做了什么。这是真正的OR陈述吗?这是因为脚本标签的异步处理吗?

谢谢!

http://code.google.com/apis/analytics/docs/tracking/gaTrackingEcommerce.html#Example

2 个答案:

答案 0 :(得分:2)

如果_gaq为false / null,则初始化一个新数组

它类似于c#的null coalesce operator ??

这是设置函数默认值的好方法

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;

答案 1 :(得分:0)

||在javascript中称为default operator。由:

var _gaq = _gaq || [];

他们的意思是:如果未定义_gaq,则将其设为空数组。

但它的真正含义是:如果_gaq是假的,那就让它成为一个空数组。

所以要注意,因为运营商并非严格比较undefined,而是值为false。因此,如果您有falsenullNaN""(空字符串),您可能需要避免使用此快捷方式。