【问题标题】:What does _gaq || [] accomplish for Google Analytics Ecommerce tracking? [duplicate]_gaq 是什么|| [] 完成 Google Analytics 电子商务跟踪? [复制]
【发布时间】:2010-07-15 17:05:03
【问题描述】:

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

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

var _gaq = _gaq || [];

我试图了解他们在这里做什么。这是真的OR 声明吗?是不是因为对script标签的异步处理?

谢谢!

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

【问题讨论】:

标签: javascript html e-commerce google-analytics


【解决方案1】:

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

类似于c#的空合并运算符??

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

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;

【讨论】:

  • 所以,这是一个真正的 OR 语句。这样做是因为异步吗?
【解决方案2】:

|| 在 javascript 中被称为default operator。作者:

var _gaq = _gaq || [];

他们的意思是:如果 _gaq 没有定义,就让它成为一个空数组。

但它真正的意思是:如果_gaq 是假的,让它成为一个空数组。

所以注意,因为运算符不严格比较undefined,而是如果值是假的。因此,如果您有 falsenullNaN""(空字符串),您可能希望避免使用此快捷方式。

【讨论】:

  • 因此松散类型语言的危险。
猜你喜欢
  • 2014-09-17
  • 1970-01-01
  • 2011-08-01
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2012-01-24
相关资源
最近更新 更多