不使用浏览器运行javascript代码的方法


Posted in Javascript onJuly 24, 2013

有时候我们想用js写一段小程序,但是又觉得使用浏览器去运行挺麻烦的,那么现在我们来看一下如何使用java程序调用javascript程序,这样就可以不借助浏览器就可执行js代码了。

之所以有这个需求是因为这几天在做的一个项目中碰到了这样的问题,我有一个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 相关文章推荐
javaScript 删除字符串空格多种方法小结
Oct 24 Javascript
8个实用的jQuery技巧
Mar 04 Javascript
js拖拽一些常见的思路方法整理
Mar 19 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
Mar 27 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
JavaScript删除指定子元素代码实例
Jan 13 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
浅谈Sublime Text 3运行JavaScript控制台
Jun 06 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
Aug 05 Javascript
聊聊Vue 中 title 的动态修改问题
Jun 11 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 Javascript
深入理解javascript中的this
Feb 08 Javascript
js展开闭合效果演示代码
Jul 24 #Javascript
火狐textarea输入法的bug的触发及解决
Jul 24 #Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 #Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 #Javascript
javascript中比较字符串是否相等的方法
Jul 23 #Javascript
js改变img标签的src属性在IE下没反应的解决方法
Jul 23 #Javascript
js如何实现设计模式中的模板方法
Jul 23 #Javascript
You might like
Terran历史背景
2020/03/14 星际争霸
php生成文件
2007/01/15 PHP
php email邮箱正则
2008/10/08 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jQuery技巧总结
2011/01/01 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
vue debug 二种方法
2018/09/16 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python兔子毒药问题实例分析
2015/03/05 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
大学生创业计划书的范文
2014/01/07 职场文书
妇女工作先进事迹
2014/08/17 职场文书
学生逃课检讨书
2015/02/17 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
服务行业标语口号
2015/12/26 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android