JavaScript常量、var和谷歌分析

JavaScript常量、var和谷歌分析,javascript,google-analytics,Javascript,Google Analytics,我有一些代码,基本上是一个类来封装跟踪与谷歌分析。看起来像 const cecTrack = window['cecTrack'] || ( () => { let _initialized; let _toTrack = []; let _gaUser; let _lastView; let _appName; let _campaignSource; let _gaKey; var _ga = function(){

我有一些代码,基本上是一个类来封装跟踪与谷歌分析。看起来像

const cecTrack = window['cecTrack'] || ( () => {
    let _initialized;
    let _toTrack = [];
    let _gaUser;
    let _lastView;
    let _appName;
    let _campaignSource;
    let _gaKey;

    var _ga = function(){
        if(window['ga'] && arguments && arguments.length){
            const a = arguments;

            setTimeout(function(){
                window['ga'].apply(null, a);
            }, 500);
        }
    }

    var _gan = function(){
        if(window['ga'] && arguments && arguments.length){
            const a = arguments;

            window['ga'].apply(null, a);
        }
    }

我省略了申请的具体细节。我看到过这样的建议:let或const优先于var。但是当我将这些函数中的任何一个更改为

const _ga = () => {

谷歌分析似乎不起作用。有东西破坏了初始化。这些函数的唯一共同点是引用全局变量。这可能是问题所在吗?任何有GA直接经验的人,您有什么建议可以让我用const或替换var吗?

参数
仅在
函数
关键字中可用,而不在箭头函数中可用

路1
const\u ga=(…参数)=>{


方法2.
const\u ga=function(){

首选
const
(和
let
)在源代码方面-生产代码通常使用
var
,这样少数奇怪的人仍然可以使用非常过时的IE11。除此之外,我不明白为什么
const\u ga
会在这里引起问题,除非你重新分配给某个地方,如果它在全球范围内声明,它会产生不同的效果作用域。使用
var
声明的变量将成为
窗口
对象的属性。但是,这是在函数内部。因此,这与此处无关。请提及它,因为您正在访问大量
窗口[…]