gtag 代码段中的参数变量是什么?

Sim*_*ton 9 javascript arguments gtag.js

开放问题。查看全局网站标记 (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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Edu*_*rdo 9

对于 Google Analytics(分析)或 gtag 来说,这没什么特别的。它只是一个标准的 Javascript 对象。它代表传递给函数的所有参数。

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

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

arguments对象是所有(非箭头)函数中可用的局部变量。您可以使用对象在函数内引用函数的参数arguments。该对象包含传递给函数的每个参数的条目,第一个条目的索引从 0 开始。例如,如果向函数传递三个参数,则可以按如下方式引用它们:

arguments[0]
arguments[1]
arguments[2]
Run Code Online (Sandbox Code Playgroud)