- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
只想创建简单的填充器以在其他功能中使用它:
function fillLine(row, column, length, bgcolor)
{
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1+row, 1+column, 1, length).setBackground(bgcolor)
}
但是得到:“找不到方法 getRange(number,number,number,(class))”。
是否可以创建一个?
添加于 2014 年 10 月 23 日 23:32 GMT+2
我试图运行函数本身。选中运行菜单中的选项“fillLine”。当我将其更改为我的主要功能“onOpen”时,一切正常。对于其他函数,即使没有参数,我也可以运行它们,但对于这个函数则不行。也许有人可以解释一下?
最佳答案
您正在调试器中运行它,没有任何参数。如果您想这样做,则需要确保在使用参数之前定义了适当的默认值,否则解释器将开始进行猜测。
如果参数为空,这可以通过提供默认值来解决问题:
function fillLine(row, column, length, bgcolor)
{
row = row || 0;
column = column || 0;
length = length || 1;
bgcolor = bgcolor || "red";
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1+row, 1+column, 1, length).setBackground(bgcolor)
}
或者,您可以使用这样的测试函数,并从调试器调用它:
function test_fillLine() {
fillLine(0, 0, 1, 'red');
}
还有其他方法,其中一些在Is there a better way to do optional function parameters in Javascript?中进行了描述。
所以这是怎么回事?
Javascript 参数未显式键入。因此,解释器必须在运行时检查传递的对象以确定它们的类型。
在此示例中,没有传递任何参数,所有参数都设置为 undefined
值,且类型为“Undefined”。
当调用函数时,解释器需要确定有时应用多个签名中的哪一个。 (Sheet.getRange
有 4 个变体。)为此,它必须解析所提供参数的数量和类型。
所以,我们开始...
1+row
和 1+column
被识别为数字,因为文字“1”是一个数字。1
显然是一个数字length
是一个 undefined object ,并且没有任何其他对象提供提示,解释器认为它是一个普通的类
。因此,解释器决定需要查找 sheet
对象的 getRange
方法,其签名为 number, number, number, class
。它找不到,并抛出您看到的异常。
关于google-apps-script - 找不到方法 getRange(number,number,number,(class)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26535173/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!