Google Apps脚本执行顺序:为什么仅仅通过定义来调用函数?

时间:2016-08-22 19:43:53

标签: google-apps-script

在Javascript中,以下代码只会执行一次,但在Google Apps脚本中,它会执行两次(显然会省略正文和脚本标记):

<body>
  <script>
    hi();
    function hi() {
      alert('hi')
    }
  </script>
</body>

换句话说,在GoogleApps脚本中,仅定义一个函数会调用它。 Code.gs中的以下内容执行时传递给它的未定义参数。

function createQuery(keywords, dateRange) {
}

如何在不调用函数的情况下定义函数?指向文档的指针会很有帮助。我没有成功地搜查他们。

1 个答案:

答案 0 :(得分:1)

在GAS中,您可以使用顶部的工具栏保存和测试功能。通过使用工具栏告诉函数运行,您正在调用该函数。你拥有的任何触发器也会在没有“调用”代码的情况下调用它来运行。

通过稍后在代码中调用函数,您可以更精确地确定函数的运行方式和时间。这可以在嵌套函数中或在其他函数内部完成。无论您在何处定义函数,最终都必须创建触发器或使用工具栏来运行该函数。

我不确定您是如何体验双重调用的,因为您的参考代码不是很深入。请记住,要完全执行脚本,您必须自己设置触发器或自己运行它,并在其中添加执行。如果你执行的代码告诉自己执行相同的代码,你会产生无限循环。

如果您提供更多数据和参考,用户将能够更准确地了解您的问题和问题,从而回答这些问题。您可能还想阅读有关GAS基础知识及其使用Javascript的参考资料和指南。