java函数不执行_写了一个js文件,函数加载进去了,但是里面的函数不执行,是什么原因...

一个·用来处理json数据的js文件,传过来的json数据是{"infos":[{"id":402881e9564b22f701564b251aef0001,"title":"火影","publishingTime":"2016-08-02 20:05:38.0","isEditable":"true"},{"id":402881e9565a7f3601565a86f0c30001,"title":"龙珠","publishingTime":"2016-08-05 19:46:48.0","isEditable":"true"},{"id":402881e9565a7f3601565a8720ac0002,"title":"哈哈","publishingTime":"2016-08-05 19:47:00.0","isEditable":"true"},{"id":402881e9565a7f3601565a87464b0003,"title":"海贼","publishingTime":"2016-08-05 19:47:10.0","isEditable":"true"},{"id":402881e9565a7f3601565a87b47c0004,"title":"海贼王","publishingTime":"2016-08-05 19:47:38.0","isEditable":"true"}],"pageBean":{"pageSize":5,"currentPage&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你不知道 JavaScript 文件函数的名称,但想要获取所有函数的名称和代码,可以使用以下代码: ```java import javax.script.*; import jdk.nashorn.api.scripting.ScriptObjectMirror; public class NashornExample { public static void main(String[] args) throws Exception { // 创建 NashornScriptEngine 实例 ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn"); // JavaScript 文件 engine.eval("load('example.js')"); // 获取全局变量中的所有函数名称和函数代码 if (engine instanceof Invocable) { Invocable invocable = (Invocable) engine; ScriptObjectMirror globalObject = (ScriptObjectMirror) invocable.invokeFunction("getGlobal"); globalObject.keySet().stream() .filter(key -> invocable.get(key) instanceof Invocable) .forEach(key -> { String functionName = key.toString(); String functionCode = invocable.invokeFunction(functionName, "getCode").toString(); System.out.println("Function Name: " + functionName); System.out.println("Function Code: " + functionCode); }); } } } ``` 其中,example.js 文件中定义了两个函数,代码如下: ```javascript function exampleFunction1() { console.log("This is exampleFunction1"); } function exampleFunction2() { console.log("This is exampleFunction2"); } ``` 运行上述代码,将输出以下结果: ``` Function Name: exampleFunction1 Function Code: function exampleFunction1() { console.log("This is exampleFunction1"); } Function Name: exampleFunction2 Function Code: function exampleFunction2() { console.log("This is exampleFunction2"); } ``` 这里使用了 Nashorn API 中的 ScriptObjectMirror 类型,它可以让我们在 Java 中操作 JavaScript 对象,包括获取对象的属性和方法等。我们首先获取全局变量对象,然后遍历该对象的所有属性,判断属性值是否为 Invocable 类型,如果是,则获取该属性名称作为函数名称,并使用该属性名称调用 invokeFunction 方法执行函数,并获取函数代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值