来自字符串的链接方法
Chained method from string
在与Google电子表格相关联的脚本项目中,我想编写一个从一系列单元格中提取数据的函数。针对不同的数据类型有多种提取方法,如getValues
、getBackgrounds
等。
通常的调用方法是:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('mysheet')
var A1 = 'A1:A2'
var values = sheet.getRange(A1).getValues()
然而,这发生在函数内部,我想让用户在函数调用中确定提取方法,就像这样:
var r = myfunction(arg1, arg2, extractionMethod = 'getValues')
所以我需要能够使用extractionMethod
(即它包含的字符串)来调用该方法。
我试着:
var values = sheet.getRange(A1).window[extractionMethod]
TypeError: Cannot read property "getValues" from undefined。(第31行,文件"fun")
我也试过
var values = sheet.getRange(A1)[extractionMethod]
但是Logger.log(values)
只给出
[16-10-01 04:09:15:014 PDT] function getbackground () {/**/}
我想实现的:使用字符串'getValues'
(或另一个有效的方法名)的函数调用,相当于调用,例如
var values = sheet.getRange(A1).getValues()
使用括号可以访问对象的属性。如果你像这样定义一个对象:
var obj = {
x: 1,
m: function() {
return this.x * 2;
}
};
可以用obj.x
或obj['x']
得到x
。obj['m']
将给你m
方法,如果你想调用m
,你需要添加括号,即obj.m()
或obj['m']()
。
相关文章:
- 在新选项卡中打开链接,但不使用_blank方法
- 简单的JavaScript方法链接
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 有没有一种方法可以让链接不可点击,但仍然可以使用:悬停
- D3使用方法链接时的不同行为
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- 有没有一种方法可以创建到同位素过滤器的直接链接
- JavaScript - 创建可链接函数时的最佳方法是什么
- 什么'这是使用jQuery将一些文本锚定到外部链接的最简单方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- 如何在grails中链接javascript引导程序方法
- 将$ionicLoading.show()用于外部链接的方法
- 在coffeescript中链接jquery方法和参数
- 使用getter和setter实现函数链接的方法
- JS:将元素附加到 head - 如何链接方法
- JavaScript可链接方法Delima
- 将元素作为对象返回的角度定向链接方法
- 用jquery链接方法
- 来自字符串的链接方法
- 按需链接方法