gpt4 book ai didi

javascript - 将全局对象传递给 ScriptObjectMirror.unwrap

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:46 24 4
gpt4 key购买 nike

ScriptObjectMirror 有一个 unwrap采用 Global 对象的方法。问题是我不知道如何发送全局对象,因为似乎没有一种简单的方法来访问它。这意味着我总是得到镜像而不是原始对象(来自 ScriptObjectMirror.class 的反编译代码):

public static Object unwrap(Object obj, Object homeGlobal) {
if(obj instanceof ScriptObjectMirror) {
ScriptObjectMirror mirror = (ScriptObjectMirror) obj;
return mirror.global == homeGlobal ? mirror.sobj : obj;
} else {
return obj instanceof JSONListAdapter?((JSONListAdapter)obj).unwrap(homeGlobal):obj;
}
}

如何传入正确的全局对象?

最佳答案

在 Nashorn 中,您无法从外部上下文中解包 ScriptObjectMirror 实例。也就是说,如果当前全局(JavaScript“全局”对象)与正在展开的对象的全局不同,Nashorn 将不会展开它。似乎也没有办法访问 JavaScript 对象的当前全局。

有一个ScriptUtils#unwrap它不接受全局,但它也显示出相同的行为。

关于javascript - 将全局对象传递给 ScriptObjectMirror.unwrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34146215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com