我有一个Javascript项目,其脚本之一接收参数。除了在整个功能链中传递此参数外,我还可以将其声明为全局参数,并让其他函数引用它吗?
如果项目中有很多脚本怎么办?这些可以以某种方式访问此全局变量吗?我只需要在执行期间将其持久化即可。
请注意,各个用户可以立即调用该项目。由于有时是通过Web应用程序调用的,因此我不确定用户缓存是否合适。
谢谢!
不要将全局变量用于Apps Script Services。例如:
var SS_SERVICE = SpreadsheetApp;
最近,这开始引起错误消息。如果更改,请在那时编辑答案。
另外,如果您不使用var
关键字定义变量,那么它将自动放入全局范围。因此,如果错误地将您放在var
变量的前面,则代码仍然可以运行并且可以正常工作,但是您可能不知道代码真正发生了什么。如果您在不同的函数中定义并使用了另一个具有相同名称的变量,并且错误地将该变量设为全局变量,而一个函数又将另一个函数设为另一个函数,则可能与变量值发生冲突。
所有Apps脚本.gs
文件都可以访问所有其他.gs
脚本文件。脚本文件之间不需要任何链接,也不必包含在其他脚本文件中。您可以从另一个脚本文件中调用一个函数,只要它在同一项目中即可。
一个文件中定义的全局变量可被其他文件访问。
您不想将公共缓存用于特定于该用户的信息。但是有私有缓存。而且Cache会过期,因此除非用于计时用户登录的时间,否则您可能不希望使用它。
如果您有很多代码,并且由于结构有序且需要访问其他多个函数而创建函数,则可能不希望传递数据。因此,是的,您可以使用全局变量。使用全局变量被某些人认为是“不良实践”,但随后我们进入了个人观点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句