TypeError:无法调用方法&#34; <method>&#34;未定义的,在定义函数时,将参数视为未定义

时间:2017-08-15 16:15:29

标签: javascript

我试图为Google Script编写Javascript函数,但我一直收到错误:

TypeError: Cannot call method "<method>" of undefined

当我在函数的参数上调用方法时。以下是代码:

function rolldice(dice) {
  var d_ind = dice.indexOf('d');
  var die_num = Number(dice.substr(d_ind,0));
  var die = Number(dice.substr(d_ind + 1, dice.length()));
  var value = 0;
  for (var i = 0; i < die_num; i++) {
    value += Math.floor((Math.random() * die) + 1);
  };
  return value;
};

它预计骰子在作为函数的参数时已被定义为字符串,但这对我来说并没有任何意义。

有人可以向我解释我做错了什么吗?或者,如果在使用谷歌的脚本编辑器时,这个错误往往会突然出现。

修改 有些人告诉我,问题可能是我在函数上调用的函数不是字符串,但是目前脚本只是我在代码块中所拥有的,并且它不会在任何地方调用此函数。

然而,当运行脚本时(除了定义一个函数并且从不使用它之外不应该做任何事情),我仍然会收到此错误

编辑2: 看起来在Google脚本编辑器中运行一个函数会使它有点不稳定,它会尝试运行函数行,就好像它们不在函数中一样,只是将参数视为未定义的变量。

但是,如果脚本在Google工作表中工作,它不会影响

0 个答案:

没有答案