【发布时间】:2020-09-04 14:54:39
【问题描述】:
我想在函数 A 之后运行函数 B,但在运行时使用函数 A 中的一些变量。假设为了这个练习,我不想声明全局变量。
在两个函数中编写这些变量会是“更好”的代码(场景 A),还是在函数 A 中包含局部变量并将它们作为参数传递给函数 B(场景B)?
以下是这两种情况的表示:
场景 A
function A() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = sheet.getCurrentCell();
cell.setValue("Hello World");
}
function B(cell) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = sheet.getCurrentCell();
var txt = "New Text";
cell.setValue(txt);
}
场景 B
function A() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = sheet.getCurrentCell();
cell.setValue("Hello World");
B(cell);
}
function B(cell) {
var txt = "New Text";
cell.setValue(txt);
}
在我最近从事的一个项目中,我有几十个变量,场景 B 对我来说似乎“更干净”,但我真的不知道我是否应该这样做。
我知道这是基本的,但我对 JavaScript 编码还是很陌生,我无法理解这一点。任何帮助将不胜感激!
上面的代码在 Google Apps 脚本中。
谢谢你:)
【问题讨论】:
-
场景 A 和 B 不是同一个场景。根据场景 B 的本质,一种方法依赖于另一种方法。在第一种情况下,它们都是独立的。因此,我认为,在比较不同的情况时,很难对什么是“更好”做出笼统的陈述。
标签: javascript variables google-apps-script parameter-passing