无浏览器JavaScript

5

我曾经和Snap-On Tools的团队领导交谈过,她说他们在服务器端编程中使用了“JavaScript的实现”。虽然已经有一段时间了,但我仍然想知道,她到底在说什么?除了浏览器中实现的解释器之外,是否还有其他的JavaScript解释器?

你如何使用JavaScript创建程序或代码,特别是服务器端的代码,而不在浏览器的上下文环境中执行?如果“服务器端”JavaScript不是在浏览器加载内容之后生成内容,那它到底是什么?“服务器端”JavaScript能否在HTTP响应被发送之前生成内容,如果可以,那这是如何实现/设置的?

我对JavaScript有很多问题,但头等函数非常强大。而JavaScript对象表示法非常纯粹;我无法想象有比定义数据结构更简单的方式。此外,如果您不是编写关键任务的代码,动态类型的JavaScript可以快速编写出一些代码。

作为一个附带问题,考虑到上面的最后一段,您有没有关于学习一门好语言的建议(评论即可)?


你可能是指“SpiderMonkey”(带有'k')。 :) - Hosam Aly
糟糕,漏打了一个字母!感谢Hosam指出。如果使用“k”而不是“k”,将获得额外的奖励分数! :) - core
我在https://dev59.com/KHRB5IYBdhLWcg3w77sn上提出了一个类似的问题。 - Johnno Nolan
12个回答

13

如果使用ECMAScript引擎,JavaScript不必在浏览器中运行。实际上,SpiderMonkeyRhino都是ECMAScript引擎

Flash的ActionScript是另一种基于ECMAScript的语言,也不必在浏览器中运行。

编辑 - 三年时间里发生了很多变化。对于您的服务器端需求,我现在推荐使用node.js。


...以及它的ECMAScript* - Pablo Cabrera
糟糕,我会修复它。谢谢Pablo! - DavGarcia

5

4

2

我听说过Jaxer很不错。

这些服务器端JavaScript解决方案中最受欢迎/有吸引力的部分是与数据验证相关的。您可以使用相同的代码在服务器上再次验证客户端表单,以确保其完整性。当某些内容发生变化时,这非常有用,因为它可以让您避免重复劳动并且不会使规则失去同步。


2

除了VBScript,Classic ASP页面还可以使用JScript作为底层脚本语言。您可以通过使用CSCRIPT.EXE在Windows命令行上运行JScript程序。实际上,它是相同的脚本引擎,并且可以扩展以支持任意数量的语言。


1

SpiderMonkeyRhino似乎有很大的关联。SpiderMonkey似乎是用于执行JS的C库,而Rhino则是Java版本。


1

是的,JavaScript虚拟机存在于浏览器之外。以下是一些专门针对服务器端的适配列表。

我个人使用Spidermonkey在命令行上尝试代码。Rhino与Spidermonkey相同,都是ECMAScript的适配版本(相同的语言实现),但Rhino运行在Java虚拟机上,而Spidermonkey是用C编写的。


0

0

0

jslibs 是一个很好的无浏览器 JavaScript 运行时(基于 Firefox 的 JS 引擎)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接