不使用浏览器运行javascript代码的方法_javascript技巧
程序员文章站
2022-03-07 13:04:30
...
有时候我们想用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脚本,但是这个项目的其他代码都是用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中如何定义变量
推荐阅读
-
IE6中使用position导致页面变形的解决方案(js代码)_javascript技巧
-
使用apply方法处理数组的三个技巧[译]_javascript技巧
-
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法_javascript技巧
-
js 获取屏幕各种宽高的方法(浏览器兼容)_javascript技巧
-
浏览器解析js生成的html出现样式问题的解决方法_javascript技巧
-
使用JavaScript获取电池状态的方法_javascript技巧
-
JS 加入收藏夹的代码(主流浏览器通用)_javascript技巧
-
javascript判断用户浏览器插件安装情况的代码_javascript技巧
-
Javascript中3种实现继承的方法和代码实例_javascript技巧
-
Javascript 数组添加一个 indexOf 方法的实现代码_javascript技巧