问题标签 [nashorn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java-8 - nashorn 用绑定替换 Java.type
要从 JS 调用 Java,您可以使用Java.type
. 有没有办法在 Bindings 中绑定一个 java 类?
所以替换:
有类似的东西:
我正在开发一个框架,我想为 js 脚本提供很多类,最好不要使用字符串连接和eval。目前它会抛出一个带有消息的异常: AwesomeObj 不是一个函数,这是有道理的。
javascript - 为什么 Java 8 Nashorn (JavaScript) 取模返回 0.0 (double) 而不是 0 (integer)?
考虑以下代码示例:
为什么它会产生以下输出?
eval = 0.0
eval.getClass() = class java.lang.Double
结果类型java.lang.Double
很奇怪。
如果余数不同于 0,它会正确返回java.lang.Integer
,例如5%2
返回java.lang.Integer' with value
1`。
只有 0 有点特别。
在 Firefox 32.0.2(FindBugs 控制台)中尝试相同的 JavaScript 表达式可以正常工作并返回纯 0。
有什么办法可以强制 Nashorn 返回 Integer 类型而不是 Double?
java - 如何在 Nashhorn JavaScript 中扩展 Java 类并添加类成员变量
我尝试创建一个扩展 Java 类的类的实例,并在该实例中添加一些类成员变量。这是我的尝试:
然而,Nashorn 解释器抛出这个错误:“TypeError: function noSuchMethod () { [native code] } is not a constructor function”
我究竟做错了什么?当我添加一个自定义类的实例(如 se.datadosen.util.Stopwatch)时,Nashorn 没有抱怨,但是当我尝试添加该 JCheckBox 时它会引发此错误。
(我知道通过 .add() 调用将组件添加到面板中,但这个问题实际上是关于如何将类成员变量添加到子类。
java - Nashorn 分析器输出格式
Nashorn java 脚本引擎有内置的分析器,可以像这样调用:
jjs -pcs profiled_script.js
.
此分析器生成一个名为NashornProfile.txt的文件。这是此文件中的示例行:
这个文件的格式是什么,每一列的含义是什么?
java - 来自 Java 的 Javascript - 文档对象
我正在尝试调用一个 java 脚本函数,该函数使用例如创建一个 html div 结构
不幸的是,如果我直接从 Java 运行此脚本而不是在浏览器中运行它,那么我没有窗口和/或文档对象。有人可以给我一些建议如何使用或修改 javascript 代码吗?有没有办法自己创建一个文档对象?非常感谢。
此致
萨沙
java - Nashorn 有相当于“产量”吗?
JavaScript 中的yield
关键字对于 Java 8 的 Nashorn 引擎中的某些脚本任务非常方便。鉴于yield
(它在 ES6 中)的前沿性,它可能不包含在 Nashorn 中,但我很好奇是否有类似的东西可用。
java - Java 8 Nashorn JJS – javascript 控制台
向专家提问:最新的Java 8 提供了Javascript 引擎Nashorn。众所周知,借助 invokedynamic 的魔力,javascript 被编译为 JVM 字节码,与 Mozilla Rhino 不同的是,它只是解释它。
但是 JJS(javascript 控制台)呢?有没有即时编译?还是只有解释?
谢谢!
java - Java 8 Nashorn ArrayIndexOutOfBoundsException
如果有的话,我能做些什么来阻止 Nashorn 一直抛出 ArrayIndexOutOfBoundsException ?
这个看似微不足道且正确(此处没有错误)的代码片段导致 Nashorn 出现异常:
文件 test.js:
然后像这样运行脚本:
/usr/lib/jvm/java-8-oracle/bin/jjs test.js
结果:
当我通过脚本引擎在 JVM 中运行文件时,也会发生这种情况。
背景:我正在尝试在 Nashorn 中运行 TypeScript 生成的代码。上面的代码片段是简化的 TypeScript 编译器输出。
操作系统:Linux Mint 17、64 位。爪哇版:
java - 在 Nashorn 中直接使用基元
我正在开发一个程序,它利用用户脚本来定制大部分体验。设计的后果之一是从 int/double/float 到 Number 和返回的不断转换。该转换导致大量开销,因此是不希望的。例如:
Javascript中引用的类:
Javascript(在 Nashorn 中执行,已放置 FromJava 实例)
有没有办法防止不必要的装箱,或者这是当前 Nashorn 实现所需的开销?
javascript - 将对象的成员函数公开为全局函数
例如我有:
有没有办法导出abc
和def
作为全局函数,以便我可以abc()
直接调用而不是调用n.abc()
?
我的上下文是使用 Rhino/Nashorn 脚本引擎,我想注入一个提供全局函数的“全局”对象。