當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » javaeval

javaeval-九游会j9娱乐平台

發布時間: 2024-07-05 18:42:11

java如何調用javascript的函數

[java] view plainprint?
package suggestion16;

import java.io.filenotfoundexception;
import java.io.filereader;
import java.util.scanner;

import javax.script.bindings;
import javax.script.invocable;
import javax.script.scriptcontext;
import javax.script.scriptengine;
import javax.script.scriptenginemanager;
import javax.script.scriptexception;

public class scripttext {

public static void main(string[] args) throws filenotfoundexception, scriptexception, exception {
scriptengine engine = new scriptenginemanager().getenginebyname("javascript");
bindings bind = engine.createbindings();
bind.put("factor", 2); //這里綁定一個factor的值為2.
engine.setbindings(bind,scriptcontext.engine_scope);
scanner input = new scanner(system.in);
while(input.hasnext())
{
int first = input.nextint();
int sec = input.nextint();
system.out.println("輸入的參數為:" first " , " sec);
engine.eval(new filereader("e:/cal.js"));
if(engine instanceof invocable)
{
invocable in = (invocable)engine;
double result = (double)in.invokefunction("cal",first,sec);
system.out.println("運算結果為:" result.intvalue());
}
}
}

}


其中的「e:/cal.js」就是我們js文件的保存路徑。並且這個主函數可以循環的輸入。
我們運行一下這個程序得到的結果如下:
[html] view plainprint?
1
2
輸入的參數為:1 , 2
運算結果為:1

上面也就是 調用了 1 2 - 2 = 1 ,所以結果為1
我們將js文件中的function方法改變下,改編為下面的函數:
[javascript] view plainprint?
function cal(var1,var2)
{
return var1 var2*factor;
}

熱點內容
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
安卓系統視頻製作哪個好用 發布:2024-07-17 15:10:47 瀏覽:210
androidapk結構 發布:2024-07-17 15:10:43 瀏覽:945
网站地图