4
我正在使用javax.script從java方法執行javascript。Java方法中的javascript變量生命週期
在我的java方法中,我調用了javascript中定義的不同函數。在javascript方面,我想保留一個全局變量,所以調用的輸出取決於前一個。
Java方法
public void myMethod(){
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval(new java.io.FileReader("myTest.js"));
Invocable inv = (Invocable) engine;
Object obj = engine.get("obj");
inv.invokeMethod(obj, "method1");
inv.invokeMethod(obj, "method2");
}
myTest.js
var obj=new Object();
var myStatus=1;
obj.method1 = function(){
myStatus++;
};
obj.method2 = function(){
for (var i=0; i<myStatus)
println('Hello world');
}
什麼是腳本中聲明的變量的範圍? 如果我一個全局變量添加到使用
engine.put("globalVariable", myVariable)
這是什麼變量的作用域的腳本?
感謝