不使用瀏覽器運(yùn)行javascript代碼的方法
有時(shí)候我們想用js寫一段小程序,但是又覺得使用瀏覽器去運(yùn)行挺麻煩的,那么現(xiàn)在我們來(lái)看一下如何使用java程序調(diào)用javascript程序,這樣就可以不借助瀏覽器就可執(zhí)行js代碼了。
之所以有這個(gè)需求是因?yàn)檫@幾天在做的一個(gè)項(xiàng)目中碰到了這樣的問題,我有一個(gè)javascript腳本,但是這個(gè)項(xiàng)目的其他代碼都是用C\C++寫的,不想將js代碼轉(zhuǎn)成C,感覺太麻煩了,所以就想如果可以在C下面直接調(diào)用javascript代碼就好了,或者在shell中有一個(gè)可以不借助瀏覽器就可以直接運(yùn)行js代碼的工具也行?,F(xiàn)在可以使用java代碼調(diào)用javascript代碼也行吧,可以寫一個(gè)shell 腳本封裝一下就可以直接在shell下面運(yùn)行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(); } } }
例如要運(yùn)行的js代碼如下:
function add(a, b) { c = a + b; return c; } result = add (10, 5); print ('Result = ' + result);
然后在shell中運(yùn)行:
javac RunScriptFile.java
java RunScriptFile
生成結(jié)果如下:
Result = 15
- JS實(shí)現(xiàn)可直接顯示網(wǎng)頁(yè)代碼運(yùn)行效果的HTML代碼預(yù)覽功能實(shí)例
- JS、HTML代碼運(yùn)行工具
- javascript 代碼運(yùn)行器
- 可以測(cè)試javascript運(yùn)行效果的代碼
- javascript實(shí)現(xiàn)的textarea運(yùn)行框效果代碼 不用指定id批量指定
- js實(shí)現(xiàn)網(wǎng)頁(yè)倒計(jì)時(shí)、網(wǎng)站已運(yùn)行時(shí)間功能的代碼3例
- 禁止JS運(yùn)行的代碼
- js網(wǎng)頁(yè)中的(運(yùn)行代碼)功能實(shí)現(xiàn)思路
- 打開windows運(yùn)行對(duì)話框的js
- javascript實(shí)現(xiàn)在網(wǎng)頁(yè)中運(yùn)行本地程序的方法
- JS實(shí)現(xiàn)直接運(yùn)行html代碼的方法
相關(guān)文章
JS點(diǎn)擊某個(gè)圖標(biāo)或按鈕彈出文件選擇框的實(shí)現(xiàn)代碼
本文給大家介紹js點(diǎn)擊點(diǎn)擊某個(gè)圖標(biāo)或按鈕彈出文件選擇框的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),感興趣的朋友可以參考下2016-09-09javascript中的__defineGetter__和__defineSetter__介紹
這篇文章主要介紹了javascript中的__defineGetter__和__defineSetter__介紹,類似面向?qū)ο笳Z(yǔ)言中的get和set關(guān)鍵字,需要的朋友可以參考下2014-08-08原生JS實(shí)現(xiàn)動(dòng)態(tài)加載js文件并在加載成功后執(zhí)行回調(diào)函數(shù)的方法
這篇文章主要介紹了原生JS實(shí)現(xiàn)動(dòng)態(tài)加載js文件并在加載成功后執(zhí)行回調(diào)函數(shù)的方法,涉及javascript動(dòng)態(tài)創(chuàng)建頁(yè)面元素、事件監(jiān)聽、回調(diào)函數(shù)使用等相關(guān)操作技巧,需要的朋友可以參考下2018-09-09利用jsonp跨域調(diào)用百度js實(shí)現(xiàn)搜索框智能提示
這篇文章主要為大家詳細(xì)介紹了使用jsonp跨域調(diào)用百度js實(shí)現(xiàn)搜索框智能提示,感興趣的小伙伴們可以參考一下2016-08-08Web?Components使用生命周期回調(diào)函數(shù)實(shí)例詳解
這篇文章主要為大家介紹了Web?Components使用生命周期回調(diào)函數(shù)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10