首页 > 解决方案 > Google Analytics 中的无用功能?

问题描述

我正在查看谷歌分析,我发现了这个功能(为了便于阅读,印刷得很漂亮):

ha = function(a) {
  var b = [];
  if (Array.prototype.indexOf) return a = b.indexOf(a), "number" ==
    typeof a ? a : -1;
  for (var c = 0; c < b.length; c++)
    if (b[c] === a) return c;
  return -1
},

这看起来像一个Array.prototype.indexOfpolyfill。麻烦的是,不是var b = this;你所期望的,而是var b = [];. 我找不到任何不会返回的情况-1

上次我在 Google Analytics 中发现类似的东西时,我刚刚犯了一个错误,它实际上是有效的。但是......我真的看不出我在哪里出错了。

这段代码有什么作用吗?还是它只是无条件返回-1


用于测试的沙箱:

var ha = function(a) {
  var b = [];
  if (Array.prototype.indexOf) return a = b.indexOf(a), "number" ==
    typeof a ? a : -1;
  for (var c = 0; c < b.length; c++)
    if (b[c] === a) return c;
  return -1
};
<input id="input" value="ha(5);" /><button onclick="var v=document.getElementById('input').value;console.log(v,eval(v));">Run</button>

标签: javascriptgoogle-analyticspolyfills

解决方案


推荐阅读