我有一个简单的项目,它可以进行一些通用数组计算,并在网格中返回结果。我需要一个短的方法来扫描一个数组的最大值,并尝试使用这个:
var max = Math.max.bind( Math.max );
var vector_max = Function.apply.bind( max, null );
现在,当我不进行调试时,这非常有效。但是,如果我将测试函数封装在任何语句中,比如:
function tester() {
var r = 0;
return r;
}
在这个函数的任何地方设置一个断点,然后单击debug,我得到一个错误:
"Typeerror: This operation is not allowed. (line XXX, file xxx)"
即使在附加到空工作表的全新脚本中也会发生这种情况。当然,谷歌没有关于他们的脚本调试器的文档,也没有提到任何限制,所以,我完全蒙在鼓里。
有什么想法吗?
我也可以重现这一点。它看起来确实像是调试器中的一个错误!:)
您应该在应用程序脚本问题跟踪器中报告此情况。同时,使用vector_max
函数的另一个实现来调试代码。例如:
function vector_max(a){ return a.reduce(function(r,v){ return r < v ? v : r; }, -Infinity); }