javascript - 在谷歌表格外部库中使用 Java 脚本原型函数
问题描述
我在 google sheet 项目中添加了一个原型函数String
,并创建了一个新版本以在另一个项目中引用。然后我在另一个项目中引用了这个新的库版本(脚本编辑器中的资源-> 库)。现在我想使用这个函数,但是执行失败,因为它不能识别这个函数。
project1中的函数定义:
if (!String.prototype.newStringFunc) {
String.prototype.newStringFunc = function() {
Logger.log(this.toString());
};
}
Project2中的用法:
function test()
{
var s = "Hello";
s.newStringFunc();
}
结果:
TypeError:s.newStringFunc 不是函数
如果函数是在 Project2 中定义的 - 一切都很好。
Project1 中的其他“常规”功能被正确识别和执行。
不能将原型函数添加到外部库吗?
解决方案
原型库用于旧的 Rhino javascript 解释器。
因此,如果您将Project2转回project1的旧 Rhino javascript 解释器,这并不重要。它会再次起作用。
只需转到菜单 >> 执行 >> 禁用 Chrome V8。
我真的不知道旧解释器可以使用多长时间,直到那时,让我们使用它。
推荐阅读
- python-3.x - 禁用 CMD 清除屏幕
- php - 为什么 PHP 无法从 Js FormData fetch 中获取 $_POST 数据?
- java - 如何从加密密码中解密密码
- c - 带后缀“f”的双常量用法
- database - 比较 Elastic Search 和 RDS 之间的数据
- visual-studio-code - 如何在 VScode 中预览函数和定义?
- android - 元素未在 Xamarin.Forms 中扩展
- java - 从 DataTable 检索输入
- python - 在 Python 中从数组中格式化日期
- swift - 如果我知道当前日期,如何确定一周中的下几天?