《Java 1.8》Nashorn JavaScript支持
一、介绍
从JDK 1.8开始,Nashorn取代Rhino(JDK 1.6, JDK1.7)成为Java的嵌入式JavaScript引擎。Nashorn完全支持ECMAScript 5.1规范以及一些扩展。它使用基于JSR 292的新语言特性,其中包含在JDK 7中引入的 invokedynamic,将JavaScript编译成Java字节码。
与先前的Rhino实现相比,这带来了2到10倍的性能提升。
二、Java 中调用 JavaScript
package com.learn.demo; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class ScriptDemo { public static void main(String[] args) { try { String name = "Runoob"; ScriptEngineManager script = new ScriptEngineManager(); ScriptEngine engine = script.getEngineByName("Nashorn"); engine.eval("print('"+name+"')"); Integer result = (Integer) engine.eval("10 + 2"); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } }
三、JavaScript 中调用 Java
var BigDecimal = Java.type('java.math.BigDecimal');
function calculate(amount, percentage) {
var result = new BigDecimal(amount).multiply(
new BigDecimal(percentage)).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_EVEN);
return result.toPlainString();
}
var result = calculate(568000000000000000023,13.9);
print(result);
友情链接:
https://blog.csdn.net/chenhaotong/article/details/50254739
https://www.cnblogs.com/cynchanpin/p/6927278.html
https://www.cnblogs.com/top8/p/6207945.html

浙公网安备 33010602011771号