更新時間:2022-10-10 10:12:41 來源:動力節點 瀏覽2829次
以下代碼顯示了如何從 Java 調用 Javascript 函數。
首先,它在 Javascript 文件中定義了四個函數,并將其保存到 c:/Java_Dev/calculator.js 中。
var計算器 =新對象();
計算器.add =函數(n1, n2) n1 + n2;
計算器.減法 =函數(n1, n2) n1 - n2;
計算器.乘法 =函數(n1, n2) n1 * n2;
計算器.除法 =函數(n1, n2) n1 / n2;
然后,使用 eval() 函數加載腳本并獲取表示函數的 Object。
String scriptPath = "c:/Java_Dev/calculator.js" ;
engine.eval( "load('" + scriptPath + "')" );
對象計算器 = engine.get( "計算器" );
最后,通過名稱獲取函數并傳入參數。
對象 addResult = inv.invokeMethod(calculator, "add" , x, y);
Object subResult = inv.invokeMethod(calculator, "subtract" , x, y);
Object mulResult = inv.invokeMethod(calculator, "multiply" , x, y);
對象 divResult = inv.invokeMethod(calculator, "divide" , x, y);
導入javax.script.Invocable;
導入javax.script.ScriptEngine;
導入javax.script.ScriptEngineManager;
/ * w w w . j a v a 2秒。c o m * / public class Main {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine 引擎 = manager.getEngineByName( "JavaScript" );
如果
(!(engine instanceof Invocable)) {
System.out.println( "不支持調用方法。" );
返回;
}
Invocable inv = (Invocable) 引擎;
String scriptPath = "c:/Java_Dev/calculator.js" ;
engine.eval( "load('" + scriptPath + "')" );
對象計算器 = engine.get( "計算器" ); 詮釋x = 3;
整數y = 4;
對象 addResult = inv.invokeMethod(calculator, "add" , x, y);
對象子結果 = inv.invokeMethod(計算器,
, x, y);
Object mulResult = inv.invokeMethod(calculator, "multiply" , x, y);
對象 divResult = inv.invokeMethod(calculator, "divide" , x, y);
System.out.println(addResult);
System.out.println(subResult);
System.out.println(mulResult);
System.out.println(divResult);
}
}
上面的代碼生成以下結果。
這是 c:/Java_Dev/calculator.js 的源代碼。
var計算器 =新對象();
計算器.add =函數(n1, n2) n1 + n2;
計算器.減法 =函數(n1, n2) n1 - n2;
計算器.乘法 =函數(n1, n2) n1 * n2;
計算器.除法 =函數(n1, n2) n1 / n2;
以上就是關于“Java調用js方法”的介紹,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的Java視頻教程,里面的課程內容從入門到精通,細致全面,通俗易懂,很適合沒有基礎的小伙伴學習,相信對大家一定會有所幫助的。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習