javascript – 在GAS中使用Global vars,是否可取?有什么缺点吗?
作者:互联网
对不起,如果这是一个愚蠢的问题,但在这里
所以我一直在学习使用Google应用程序脚本的Javascript大约一年,慢慢地但肯定找到了我的脚.
我试图在这里用他们的脚本帮助某人,我注意到他们宣布了
var ss = SpreadSheetApp.getActiveSpreadsheet();
在脚本的最顶层,在所有函数之外,作为全局变量.
我想到,当我为电子表格编写多个函数/脚本时,可能值得全局声明一些VAR而不是在不同的函数中重复它们.
在我盲目地沿着这条路走下去之前,我认为最好问一下在GAS中使用全局变量是否有任何重大缺陷或问题.
此外,除了在编码时节省一些打字之外,还有什么主要优点吗?
目前是否有人编写GAS脚本,定期使用全局变量.我有兴趣听听它是如何运作的吗?缺点是什么,任何限制或优点.
编辑此线以下
只是想补充一点,95%的我一直在做的事情仅限于Google表格,只需要一个lil gmail脚本.到目前为止,这是我的范围.最好提一下,因为我并没有真正考虑到其他Google产品的脚本含义.
解决方法:
当您使用变量定义(例如在调用Google服务的示例中)时,您必须意识到每次在项目中运行任何函数时都会执行此调用.
这意味着即使它在代码编写方面可能是高效的(我猜我们都是懒人),但在执行速度方面它实际上并不高效.
相反,让我们假设您执行一个不需要ss变量的函数,SpreadSheetApp.getActiveSpreadsheet()将被执行…
通过一个简单的调用,它可能不是一个问题,但如果你将这种情况乘以许多不同的变量调用许多不同的服务,它将最终降低你的执行速度.
我不是一个“真正的”程序员,所以我的观点仅仅基于个人习惯和发现,因为我从未在这方面学过任何“学术”的东西.也许别人会有更相关的答案.
编辑:当我输入乔纳森时就是这样!我当然同意他说的话,我会留下我的帖子只是为了提高效率;-)
标签:javascript,global-variables,google-sheets,google-apps-script 来源: https://codeday.me/bug/20190829/1764126.html