不使用浏览器运行javascript代码的方法
2013-07-24 00:00
423 查看
有时候我们想用js写一段小程序,但是又觉得使用浏览器去运行挺麻烦的,那么现在我们来看一下如何使用java程序调用javascript程序,这样就可以不借助浏览器就可执行js代码了。
之所以有这个需求是因为这几天在做的一个项目中碰到了这样的问题,我有一个javascript脚本,但是这个项目的其他代码都是用C\C++写的,不想将js代码转成C,感觉太麻烦了,所以就想如果可以在C下面直接调用javascript代码就好了,或者在shell中有一个可以不借助浏览器就可以直接运行js代码的工具也行。现在可以使用java代码调用javascript代码也行吧,可以写一个shell 脚本封装一下就可以直接在shell下面运行js代码了。
首先如果要安装好java。
java代码如下:
例如要运行的js代码如下:
然后在shell中运行:
javac RunScriptFile.java
java RunScriptFile
生成结果如下:
Result = 15
之所以有这个需求是因为这几天在做的一个项目中碰到了这样的问题,我有一个javascript脚本,但是这个项目的其他代码都是用C\C++写的,不想将js代码转成C,感觉太麻烦了,所以就想如果可以在C下面直接调用javascript代码就好了,或者在shell中有一个可以不借助浏览器就可以直接运行js代码的工具也行。现在可以使用java代码调用javascript代码也行吧,可以写一个shell 脚本封装一下就可以直接在shell下面运行js代码了。
首先如果要安装好java。
java代码如下:
import java.io.FileReader; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class RunScriptFile { public static void main(String[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); try { FileReader reader = new FileReader("testFile.js"); engine.eval(reader); reader.close(); } catch (Exception e) { e.printStackTrace(); } } }
例如要运行的js代码如下:
function add(a, b) { c = a + b; return c; } result = add (10, 5); print ('Result = ' + result);
然后在shell中运行:
javac RunScriptFile.java
java RunScriptFile
生成结果如下:
Result = 15
相关文章推荐
- javascript cookie操作类的实现代码小结附使用方法
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- 8.4.2 时间序列预测——使用TFLearn自定义模型——代码运行错误及解决方法
- [转]使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- JavaScript编写检测用户所使用的浏览器的代码示例
- 使用JavaScript修改浏览器URL地址栏的实现代码
- 使用JavaScript修改浏览器URL地址栏的实现代码
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- Ruby Benchmark 模块提供了测量和报告Ruby代码运行使用时间的方法。
- 巧妙使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的好方法
- 不想让浏览器运行javascript脚本的方法
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- 使用JavaScript修改浏览器URL地址栏的实现代码
- iOS 单例模式 学习 "52个方法 第6章 45条 使用 dispath_once 来执行只需运行一次的线程安全代码"
- ESC之ESC.wsf可以实现javascript的代码压缩附使用方法第1/5页
- 使用javascript代码无提示关闭浏览器窗口(兼容IE与火狐)
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- ESC之ESC.wsf可以实现javascript的代码压缩附使用方法第1/5页
- 使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!