- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到 ubuntu 10.04 删除了 Spidermonkey 软件包。犀牛看起来仍然在那里。 rhino 和 Spidermonkey 之间有什么区别(除了它们是用什么语言编写的)。他们为什么要删除蜘蛛猴?
最佳答案
恐怕区别在于它们所用的语言或含义。人们使用 C/C++ 编写各种东西(例如 Firefox),而 Java 在应用程序服务器中最为流行。来自 http://en.wikipedia.org/wiki/Rhino_%28JavaScript_engine%29 :
Rhino converts JavaScript scripts into Java classes. Rhino works in both compiled as well as interpreted mode. It is intended to be used in server-side applications, hence there is no built-in support for the browser objects that are commonly associated with JavaScript.
这里有三个重要的部分。首先,没有 DOM(SpiderMonkey 也是如此)。其次,服务器端是预期用途。您应该能够在大型企业应用程序中使用 Rhino,以更加临时的方式实现自动化。最后,Javascript 成为一个类,就像 Java 类层次结构的其余部分一样,您可以与 Java 类交互(请参阅该页面上的代码示例)。
简而言之,您可以非常轻松地操作 POJO/基于 JPA 的对象/消息 Bean/任何您想要调用的“企业”Java 类,所有这些都可以在通过 Rhino 运行的 javascript 中进行。将此与 Jython 进行比较,在 Jython 中您可以使用 Python 语法和类与 Java 交互。如果您有一些 JavaScript/Python 高手在办公室里无所事事,那么这会很方便。
相比之下,SpiderMonkey 更像是 LUA。它是一种脚本语言。有什么不同?好吧,我怀疑你是否可以直接访问 printf 。您无法直接访问 C/C++ 类,而不是直接访问 Java 类。相反,您可以使用 C/C++ 来编写该语言的额外功能。
简而言之,Rhino 允许 JS 与您的代码进行交互。 SpiderMonkey 更像是一个 DIY 编译器套件,其附加优势是已经构建了一种很多人都知道的标准语言,您只需向其中添加自定义即可。
关于javascript - 犀牛与蜘蛛猴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3563909/
我知道我能做到: IDateTimeFactory dtf = MockRepository.GenerateStub(); dtf.Now = new DateTime(); DoStuff(dtf
我有一段嵌入了 Rhino 的 Java 代码(省略了不相关的位): Context cx = Context.enter(); Scriptable scope = cx.initStandardO
我正在研究 Rhino (Mirth),我必须处理/解析具有以下结构的 XML: ... ... 我只想获取所有“foo”节点,尽可能避免使用循环。我一直在尝试类似的东西:
我是一名优秀的程序员,十分优秀!