【发布时间】:2014-08-17 17:20:30
【问题描述】:
如何在不破坏 analytics.js 功能的情况下修复 JSLint 错误 "Unexpected assignment expression"?
有问题的行:
(w[g].q = w[g].q || []).push(arguments);
完整代码:
<script src=//www.google-analytics.com/analytics.js async></script>
<script>
/*global window: false, ga: false */
(function (w, g) {
'use strict';
w.GoogleAnalyticsObject = g;
w[g] = w[g] || function () {
(w[g].q = w[g].q || []).push(arguments);
};
w[g].l = +new Date();
ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');
}(window, 'ga'));
</script>
做了什么:
- 自considered harmful 以来避免了注入脚本的“异步脚本”
- 已关注JSLint 建议
【问题讨论】:
-
我的建议,切换到 JSHint。
-
你在哪里定义
arguments?全球的?在我看来,您正在创建一个包含很多未定义的数组。 -
@BillyBlaze -
arguments不是全球性的。它是在任何函数内部自动创建的,是一个类似数组的对象,其中包含对传递给函数的参数的引用。 -
谢谢,我今天学到了新东西。我还在这里获得了更多信息sebarmeli.com/blog/2010/11/12/…
标签: javascript google-analytics jslint jshint