3

当我学习 Perl 和 Python 时,我的“开发环境”由 vim 和一个 shell 组成。我会简单地在 vim 中编写程序,然后从命令行执行它。我知道 spidermonkey 引擎可以作为独立的解释器使用,但我不确定它有多实用。

JS 的“直观”方式是将脚本合并到网页中并在不同的浏览器中查看,但这似乎很麻烦。我已经看到了一些有关 Firebug 的建议,但我无法完全掌握它。

我知道有几个面向 JS 的 vim 插件,但我也不知道它们的实用性如何。

我基本上想写一个脚本,并快速检查它的语法和输出。我也很想知道实际的 JS 开发人员是如何测试他们的代码的。

4

1 回答 1

1

我经常使用Node.js,所以我的回答会对此有偏见,但是......

  1. 为了学习这门语言,Node.js 为您提供了一个易于使用(如 Python、Ruby 等)的 REPL,只需node在命令行中键入即可。
  2. Zombie是一个用 Node.js 实现的无头浏览器,可以很好地验证您的网站。如果您的 Javascript 在语法上是错误的,那么一旦您尝试加载页面,您就会收到错误消息。如果您的 Javascript 在语义上是错误的(逻辑错误),那么您为验证代码的正确行为而编写的测试将失败。
  3. 您最终将不得不在 Firefox、IE 等中进行测试,但不是真正在 Chrome 中进行测试,因为它们都使用相同的 V8 引擎(当然,您可能想粗略地看一眼)。您可能知道,IE 与其他浏览器的差异最大,因为它没有实现功能或给它们一个不同的名称。令人惊讶的是,Firefox 也很离经叛道,但不是缺少功能,而是在 Javascript 语言中有许多其他浏览器没有的额外功能(他们作为 ECMAScript 标准的一部分提出但被拒绝)所以实际上最好不要如果您希望代码在每个解释器上运行,请从那里开始。

使用 Node.js,您还可以使用速度更快的服务器端解释器之一(比 Python 和 Ruby 更快,大致等于 Lua,有时甚至达到 Java 的水平,并且不知何故 V8 拥有世界上最快的 RegEx 引擎),然后服务器端代码匹配客户端代码,这使得像 RPC 层这样的东西更易于使用。

于 2012-06-06T00:36:23.687 回答