代码之家  ›  专栏  ›  技术社区  ›  Simon Breton

gtag片段中的arguments变量是什么?

  •  1
  • Simon Breton  · 技术社区  · 7 年前

    开放性问题。在查看全局站点标记(gtag.js)片段时,我并不真正理解 arguments 变量。

    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
    
      gtag('config', 'GA_TRACKING_ID');
    </script>
    

    这到底是什么意思?有什么用 dataLayer.push(arguments) 在这里?

    谢谢!

    1 回复  |  直到 7 年前
        1
  •  4
  •   Eduardo    7 年前

    这对分析和gtag来说没什么特别的。它只是一个标准的Javascript对象。它表示传递给函数的所有参数。

    分析在这里所做的只是将一个对象推入数据层,并将所有参数传递给gtag标记。这并不意味着您可以简单地删除gtag函数并直接使用数据层,因为一旦加载gtag.js文件,它就可以用保持相同接口的不同函数替换gtag函数。

    来自: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments

    这个 arguments 对象是所有 (非箭头)功能。您可以在 通过使用 论据 反对。此对象包含 传递给函数的每个参数的项,第一个项的 索引从0开始。例如,如果一个函数被传递三个 参数,可以按如下方式引用它们:

    arguments[0]
    arguments[1]
    arguments[2]
    
    推荐文章