Rhino
1.1、Rhino简介
是什么 ?:aJavaScript Engine
开发语言:Java
开发组织:Mozilla
官方主页:https://www.mozilla.org/rhino
源码仓库:https://github.com/mozilla/rhino
1.2、安装Rhino

step1、安装依赖

下载时cURL
运行时JRE | JDK

step2、使用curl命令下载rhino-x.y.z.jar

curl -LO https://github.com/mozilla/rhino/releases/download/Rhino1_7_11_Release/rhino-1.7.11.jar

step3、将下面的代码写到环境变量配置文件中

alias rhino='java -jar ~/rhino-1.7.11.jar'
1.3、rhino命令
1.3.1、rhino -help

查看rhino的使用帮助。

1.3.2、rhino <jsFile>

执行jsFile

rhino ~/xx.js
1.3.3、rhino

不带参数进入交互模式。

这里可以输入JavaScript代码,立即就会看到结果。

我们输入如下的代码:

console.log("Hello Rhino");

运行结果如下 ⤵︎

这是为啥呢?因为console对象不是ECMAScript的内置对象。 那我们为啥平时能用呢?这是因为Web浏览器Node.js提供了该内置对象。 从这个小错误,我们可以明白JavaScript EngineJavaScript Runtime的区别。

这个问题也好解决,我们自己创造一个console对象不就可以了嘛,编写如下的代码:

console = {
    log: print,
    warn: print,
    error: print
};
console.log("Hello Rhino");

执行这段代码,就可以成功了。

实际上,这是一种非常惯用的手法。比如为了兼容老的浏览器,我们要使用很多的js polyfill,这些js polyfill的实现思想就是这样子的。