gpt4 book ai didi

javascript - Nashorn 中的匿名函数

转载 作者:行者123 更新时间:2023-11-28 12:22:03 27 4
gpt4 key购买 nike

假设有这样的文件

(function () {
function change() {
print('test');
}
function test() {
return 'Testing';
}
})();

如何使用 nashorn 将参数传递给该函数?我不想通过终端运行它,我必须创建以 String 作为参数的方法并使用 js 代码处理它。

最佳答案

上面的脚本定义了一个匿名函数并立即调用它!如果您“评估”,您将得到该函数的结果。如果你想定义一个匿名函数并从java代码中调用它,你可以这样写:

import javax.script.*;
import jdk.nashorn.api.scripting.*;

public class Main {
public static void main(String[] args) throws Exception {
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine e = m.getEngineByName("nashorn");

// define an anoymous function
JSObject multiply = (JSObject) e.eval("function(x, y) { return x*y; }");
// call that anon function
System.out.println(multiply.call(null, 34, 5));

// define another anon function
JSObject greet = (JSObject) e.eval("function(n) { print('Hello ' + n)}");
greet.call(null, "nashorn");
}
}

关于javascript - Nashorn 中的匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35901293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com