Java 是强类型的静态语言,即所有的代码在运行之前都必须先进行严格的类型检查并编译为 JVM 字节码。这样做虽然保证了安全与性能,但却牺牲了灵活性。而那些动态语言(JavaScript 、Python 等)却可以在程序运行时改变程序的结构以及变量类型,因此更具灵活性。

JSR-223 规范定义了 Java 虚拟机中运行的脚本与 Java 程序之间的交互方式,在 Java 6.0+ 的版本现已全面支持该规范啦O(∩_∩)O~

Java 6.0+ 内置了 JavaScript 解析引擎 Rhino,所以可以很方便地调用 JavaScript 编写的动态脚本,实现更灵活的业务逻辑。

我们使用 Rhino 实现了一个 JavaScript 乘法函数,作为示例:

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("JavaScript");

String scriptContent = "function multiply(a,b) {return a*b;}";

//注册脚本

engine.eval(scriptContent);

Invocable invocable = (Invocable) engine;

//调用注册函数

System.out.println(invocable.invokeFunction("multiply", 2, 3));

invokeFunction() 第一个参数是调用函数的名称,其它参数是该函数需要传入的参数列表。

输出结果:

6.0

是不是很简单呀 O(∩_∩)O哈哈~

java 执行javascript_说说如何在 Java 中执行 JavaScript 脚本相关推荐

  1. jsp中java如何使用js_如何在jsp中使用javascript

    小编典典 您不能在JSP的if语句中调用JavaScript函数,因为JSP在服务器端执行,而JavaScript在客户端执行. 单击单选按钮之一时必须触发事件,使用onclick事件可以调用func ...

  2. linux ./ 执行run文件,如何在Ubuntu中执行.bin和.run文件

    在解释如何在Ubuntu上执行.bin和.run文件之前,让我们首先定义这些文件扩展名到底是什么: Bin档:Ubuntu中的Binary或BIN文件指的是安装软件包,其中大多数是self-extra ...

  3. 在Watir中调用JavaScript脚本

    如何在Watir中调用JavaScript脚本?下面的脚本实现了此功能,主要原理是通过IE访问Document,再访问parentWindow,最终还是由IE在执行JavaScript脚本: requ ...

  4. java 调用js脚本_Java中使用JavaScript脚本的方法步骤

    简介 Nashorn Nashorn 一个 javascript 引擎. 从JDK 1.8开始,Nashorn取代Rhino(JDK 1.6, JDK1.7)成为Java的嵌入式JavaScript引 ...

  5. 如何在 R 中执行 Wald 测试

    Wald 检验可用于测试模型中的一个或多个参数是否等于某些值. 此检验通常用于确定回归模型中的一个或多个预测变量是否等于零. 我们对此测试使用以下无效假设和替代假设: H 0:一些预测变量都等于零. ...

  6. python中换行符怎么写_语法 - 如何在Python中执行换行符(换行符)?

    语法 - 如何在Python中执行换行符(换行符)? 我有一长串代码,我希望在多行之间分解. 我使用什么,语法是什么? 例如,添加一串字符串, e = 'a' + 'b' + 'c' + 'd' 并将 ...

  7. excel调用python编程-如何在excel中调用python脚本

    如何在excel中调用python脚本 发布时间:2020-07-03 14:15:28 来源:亿速云 阅读:155 如何在excel中调用python脚本?针对这个问题,这篇文章详细介绍了相对应的分 ...

  8. php中如何调用javascript,如何在php中调用javascript代码?

    JavaScript是客户端脚本语言,PHP是用于与数据库交互的服务器端脚本语言.那么如何在php中调用javascript代码?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下 ...

  9. php运行js代码,如何在PHP中运行JavaScript代码?(代码示例)

    JavaScript是客户端脚本语言,PHP是用于与数据库交互的服务器端脚本语言.那么如何如何在PHP中运行JavaScript?本篇文章就来给大家介绍几种在PHP中运行JavaScript的方法,希 ...

最新文章

  1. Mybatis之通用Mapper使用
  2. 关于IT人职业道德的反思(转)
  3. 极光推送maven与代码,无需修改,粘贴即用
  4. JAVA分布式篇3——Dubbo
  5. 【转】Unix环境高级程序设计入门----文件系统的相关编程(上)
  6. python 单链表查找元素_如何在python中一次找到链表的中间元素?
  7. Hadoop前期准备--centos6.4
  8. iOS中AutoLayout自动布局,自适应高度
  9. 电脑课堂:U盘“无法停止通用卷设备时”的解决方法
  10. python调用程序压缩文件_Python在后台自动解压各种压缩文件的实现方法
  11. 100套Java毕业设计和课程设计项目案例(包含项目源码)
  12. 关于周志华老师的几篇深度森林论文的介绍
  13. 基金投资入门与技巧——阅读笔记
  14. 最小二乘法曲线拟合以及Matlab实现
  15. java基础案例教程第二章_Java基础案例教程
  16. 硬盘性能测试DD命令详解
  17. 核芯物联Command ‘cle‘ not found错误处理
  18. 滴滴夜莺Nightingale01-架构详解
  19. 跑酷游戏-第13届蓝桥杯Scratch国赛真题第3题
  20. 前置自增加++与后置自增加++区别,前后自减同理

热门文章

  1. C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围
  2. 语音变音调和加速减速
  3. 为什么现在的人越来越不幸福
  4. Spring Boot 全局异常处理
  5. Quartz之入门实例
  6. [case19]聊聊eureka的TaskDispatcher
  7. 第十六 django进一步了解
  8. Gartner:人工智能将促使部分专业工作转型
  9. VMplay CEO 艾奇伟:借鉴Docker思路 像投影仪一样将App投到云端
  10. Django1.9开发博客02- 模型