java呼叫JavaScript
獲得 JavaScript 指令碼引擎
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("javascript");
定義獲取變數
// 定義變數
engine.put("msg", "this is msg");
// 獲取變數
System.out.println(engine.get("msg"));
定義並執行方法
// 定義函式
engine.eval("function add (num1, num2) {return num1 + num2;}");
// engine 該類同樣實現了 Invocable 介面 : 轉型過去拿到 API
Invocable invocable = (Invocable) engine;
// 呼叫函式
Object invokeFunction = invocable.invokeFunction("add", new Object[] {10, 10});
System.out.println(invokeFunction);
執行本地 JavaScript 程式碼
URL resource = JavaScriptDemo.class.getClassLoader().getResource("JavaScriptDemo.js");
FileReader fileReader = new FileReader(resource.getPath());
engine.eval(fileReader);
fileReader.close();
外部 JavaScript 程式碼
/**
* 被java呼叫的外部 JavaScript
*/
function demo() {
var i = 110;
var j = 110;
console.log("this is a i + j : " + (i + j));
}
demo();
執行復雜的算數表示式
Object eval = engine.eval("10 * 10 + 10");
System.out.println(eval);
相關文章
- JavaScript之呼叫棧JavaScript
- JavaScript跨域呼叫、JSONPJavaScript跨域JSON
- EOS JAVA 呼叫Java
- Java呼叫ZookeeperJava
- JavaScript中的鏈式呼叫JavaScript
- JavaScript如何呼叫Native iOS/Android 方法JavaScriptiOSAndroid
- Dapr Java Http 呼叫JavaHTTP
- Java 呼叫 PaddleDetection 模型Java模型
- JavaScript 數字呼叫方法或者屬性JavaScript
- Java呼叫R與PythonJavaPython
- Java 非同步呼叫方法Java非同步
- java呼叫c++動態庫之jni呼叫JavaC++
- JavaScript非同步呼叫的發展歷程JavaScript非同步
- 深入理解Javascript中的隱式呼叫JavaScript
- java中呼叫npm模組JavaNPM
- webview js和java相互呼叫WebViewJSJava
- 支付寶介面呼叫 -- JAVA版Java
- Java實現非同步呼叫Java非同步
- java呼叫kotlin注意事項JavaKotlin
- Java基礎——方法的呼叫Java
- 使用 Java實現mTLS呼叫JavaTLS
- Java魔法堂:呼叫外部程式Java
- Java-呼叫R語言和呼叫Python(前後端展示)JavaR語言Python後端
- java呼叫DLL,呼叫北洋印表機列印二維碼標籤Java
- java動態呼叫c++庫JavaC++
- [Kotlin基礎] Java 呼叫 Kotlin(一)KotlinJava
- springboot java呼叫flask python寫的Spring BootJavaFlaskPython
- 呼叫java介面的方式有哪些?Java
- java中避免集合死鏈呼叫Java
- java如何呼叫本地揚聲器Java
- elasticsearch之Java呼叫原生程式碼ElasticsearchJava
- Javascript 定時器呼叫傳遞引數的方法JavaScript定時器
- JavaScript 如何工作系列: 引擎、執行時、呼叫棧概述JavaScript
- 使用JavaScript呼叫手機平臺上的原生APIJavaScriptAPI
- 如何使用Java呼叫商品詳情APIJavaAPI
- java 呼叫 k8s 的 apiserverJavaK8SAPIServer
- JNI:Java程式碼呼叫原生程式碼Java
- 在python程式中呼叫java程式碼PythonJava