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

时间:2018-07-24 17:51:15

标签: google-analytics google-datalayer 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>

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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

分析在这里所做的只是将所有参数都传递给gtag标记的对象推入dataLayer中。这并不意味着您可以简单地删除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]