如何从 createObject 创建新的 JSString(或其他类型)?

How to create new JSString (or other type) from createObject?

上一版jxBrowser带来了JSContext中的createObject()方法。我想直接从 java 创建一个字符串(或其他类型)。我怎样才能使用 createObject 方法来做到这一点?

我可以毫无问题地创建空对象,甚至可以将其设置为 属性,但我不知道如何创建字符串或数组或任何其他类型。

感谢您的帮助!

目前 JSContext 仅允许从 Java 创建 JavaScript 对象。如果您需要创建一个字符串或数组,那么您可以使用以下方法:

JSValue value = browser.executeJavaScriptAndReturnValue("'this is my string'");
JSString jsString = value.asString();

我只是想深入了解一下...

正在做:

obj = jscontext.createObject()
obj.setProperty("constructor", Array)
obj.setProperty("__proto__", Array)

将在 javascript 中创建一个类似于数组的对象(如果对该对象调用 eval),尽管它不是 JSArray。

这种方法不适用于字符串。我猜 String 是一种特殊类型的构造函数。