Почему функции выполняются, даже если они не вызываются?

avatar
James Cropcho
8 августа 2021 в 21:32
131
1
0

Надеюсь, этот вопрос вас заинтересует.

Вот полностью сценарий Google Apps:

function myFunction() {
  console.log("hello");
}

Когда я "запускаю" этот скрипт из https://script.google.com/, мне возвращается следующее:

Execution log

5:23:46 PM Notice Execution started
5:23:46 PM Info hello
5:23:46 PM Notice Execution completed

Поскольку я не вызывал myFunction, я не ожидал увидеть "hello" в журнале выполнения. И все же это есть. Почему? И есть ли способ заставить скрипт Google Apps вести себя как все другие императивные среды программирования в мире?

Источник

Ответы (1)

avatar
andrewJames
8 августа 2021 в 22:37
1

Когда вы запускаете скрипт в средстве запуска AppsScript, я предполагаю, что вы нажимаете пункт меню Run (или, возможно, пункт Debug). Когда вы делаете это, вам также нужно посмотреть, какое имя функции выбрано в раскрывающемся списке имени функции, справа от этого пункта меню Run (после пункта меню Debug).

Выбранная (и сохраненная) функция будет выполнена. Если у вас есть только одна функция во всем скрипте, она будет выбрана по умолчанию.

enter image description here

Нет возможности выбрать "нет функции" в программе запуска скриптов.

(И если в вашем скрипте нет функций, то раскрывающийся список становится серым и просто отображает No functions.)

aNewb
9 августа 2021 в 00:21
0

Если есть только одна функция, она запускается. В противном случае вам придется выбрать сценарий до того, как кнопка запуска станет доступной.