我使用Rhino來評估js表達式,將所有可能的變量值放在範圍中並評估一個匿名函數。然而,表達式非常簡單,我只想將表達式中使用的值用於表現。從javascript表達式獲取變量(Rhino)
代碼示例:
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects(null);
// Build javascript anonymous function
String script = "(function() {" ;
for (String key : values.keySet()) {
ScriptableObject.putProperty(scope, key, values.get(key));
}
script += "return " + expression + ";})();";
Object result = cx.evaluateString(scope, script, "<cmd>", 1, null);
我想所有這一切都是變量名的表達式令牌。
例如,如果表達的是
(V1ND < 0 ? Math.abs(V1ND) : 0)
它將返回V1ND
。
相關問題:[獲取函數名稱和他們的參數從評估JS與犀牛](http://stackoverflow.com/questions/11515710) – McDowell