Java和 JavaScript

使用Java语言编写的JavaScript的开源实现Rhino;

测试脚本引擎Rhino
public class Demo01{
//- 获得脚本引擎对象
    public static void main(String[] args){
   ScriptEngineManager sem = new ScriptEngineManager();
   ScriptEngine engine = sem.getEngineByName("javascript");
//定义变量,存储到上下文中
    engine.put("msg","hello");
    String str = "var user = {name: "lpc" }";
str +="println(user.name");

engine.eval(str);//被js操作
engine.eval("msg = 'ssfaas'");
System.out.println(engine.get("msg"));//被java操作

//定义函数
engine.eval("function add(a,b){var sum = a+b;return sum;}");
//执行函数
Invocable jsInvoke = (Invocable)engine;
Object result = jsInvoke.invokefunction("add", new Objec[] {13,20})

//导入其他java包,使用其他包中的java类
String jsCode = "importPackage(java.util); var list = Arrays.asList([\"nihao\"])"
engine.eval(jsCode);
List<String> list2 = (List<String>) engine..get("list");
//执行一个js文件
URL url = Demo01.class.getClassLoader().getResource("a.js");
engine.eval(new FileReader(url.getPath()));

}

}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,630评论 2赞 35
  • JavaScript 语言的历史 诞生 JavaScript 因为互联网而生,紧跟着浏览器的出现而问世。回顾它的历...
    hnscdg阅读 522评论 0赞 0
  • ①第九天: →忙活一上午,中午有30多人一起吃饭。要拜老祖宗 →热闹一家人,红火团圆年。 →梅好真的很乖巧有礼貌,...
    森森好满意阅读 355评论 0赞 0
  • 一个狭小的空间里,有四个孕妇,但是不大看得清她们的肚子,我是其中一个。第一次去洗手间回来时走错了地方。第二次想去洗...
    小译123阅读 142评论 0赞 0
  • 致橡树 舒婷 我如果爱你—— 绝不像攀援的凌霄花 借你的高枝炫耀自己 我如果爱你—— 绝不学痴情的鸟儿...
    举杯邀月饮阅读 333评论 0赞 1

友情链接更多精彩内容