32

好的,所以我正在尝试正确地学习 JavaScript,以便我可以编写好的、干净的客户端代码,但是每当我认为我正在取得进展时,总会有一些事情阻止我走上正轨!

我想知道:

  1. JavaScript、ECMAScript 和 JScript 有什么区别?

  2. 我应该重点学习哪个?

  3. 如果这些是版本化的,我应该支持哪个版本?

  4. 是否有任何非常好的参考资料(网络/书籍等)必须拥有/阅读?

  5. 如何确保我编写的内容与所有主流浏览器(IE、FF、Safari、Chrome、Opera 等)兼容?

  6. 最重要的是......是否有核心对象(数组、数字等)的引用,所以我知道已经实现了什么以及我自己需要做什么?

谢谢。

4

6 回答 6

29

Javascript 是 Netscape 开发该语言时的原始名称。

JScript 是微软自己实现的名称。

ECMAScript 是由 ECMA 开发的语言标准的名称,源自最初的 Javascript 实现。

因此,它只是一种语言,具有不同的实现。

Javascript 和 JScript 的实现在支持的内容上有所不同,但每个版本都支持相应版本的 ECMAScript 标准中的内容。通常你只使用几个版本支持的东西,这样它就可以在所有仍在使用的浏览器中工作。

一个参考是Mozilla 开发者网络,因为 Mozilla 是 Javascript 的当前开发者。对于每个方法和属性,您可以找到它支持的版本。

JScript 记录在Microsoft Developer Network中,并且有类似的支持信息。(请注意,所有 Microsoft 文档都在那里,不仅是 JScript,因此例如,您需要搜索“jscript array”而不仅仅是“array”。)

使用像 jQuery 这样的库有助于避免处理浏览器之间的一些兼容性问题。

于 2012-08-21T08:45:45.060 回答
4
  1. ECMAScript 是由 Ecma International 在 ECMA-262 规范和 ISO/IEC 16262 中标准化的脚本语言。该语言以 JavaScript、JScript、和动作脚本。

  2. 取决于你,但我认为 Web 开发最常用的是 JavaScript

  3. JavaScript 是在 ECMAScript 语言标准中形式化的,主要以客户端 JavaScript 的形式使用

  4. 我会推荐本书

  5. 通过越来越多地了解语言本身并编写测试

  6. 这里

于 2012-08-21T08:41:55.817 回答
3

重要的是要理解,ECMAScript 是上个世纪定义的标准。:D 而 Javascript 是从 ECMAScript 派生的。从某种意义上说,它实现了标准。

最大的不同是,Javascript 实际上只存在于浏览器中,也就是说,它本身并不是一个标准。每个浏览器都可以(并且很多)实现它自己的方法。

所以,如果你真的想学习它并编写干净的代码,那么恕我直言,你必须首先熟悉 ECMAScript 标准。

To 3:由于Javascript是由浏览器实现的,这实际上取决于您要为其开发代码的浏览器。较旧的浏览器可能必须在您的代码中进行一些单独的处理。

To 5:同样,javascript可以检查哪个浏览器(或一般的客户端软件)请求它加载的页面。含义:如果情况变得更糟,您可以在代码中单独处理每个浏览器。但大多数时候它们都非常合规(至少在以后的版本中)

在 4 和 6 上,我必须先检查自己。

希望我能帮到你一点。

问候

于 2012-08-21T08:47:02.173 回答
3
  1. ECMAScript 是语言,JavaScript 和 JScript 是方言

  2. 我个人会看并学习 JavaScript。

  3. 这取决于您要支持的浏览器,很容易用谷歌搜索。

  4. MDN是一个非常好的网络资源。JavaScript: The Good PartsJavaScript: The Definitive Guide都是很不错的书,第一本短小精悍,后者非常详细。

  5. 出于这个原因,像 jQuery 这样的 JavaScript 库非常好。这一切都归结为学习浏览器的所有怪癖。谷歌是你的朋友。

  6. MDN

于 2012-08-21T08:50:08.523 回答
1
  1. 请维基百科。
  2. Javascript 是一种语言,这可能是您想要学习的内容,而不是规范。
  3. 欢迎来到地狱,所有人。ModernizrjQuery的存在是有原因的。除非您使用 Node.js 在服务器端执行 Javascript,否则在这种情况下您可以只专注于一个 JS 引擎(V8 for Node)。
  4. MDN
  5. 测试,测试,测试和重新测试。尽量不要使用太新的功能并使用库。
  6. MDN 告诉你哪个浏览器支持什么。
于 2012-08-21T08:40:10.563 回答
1
  1. 它们是一回事 - 有关 JavaScript 的历史,请观看 YouTube 上的 Douglas Crockford 网络广播。

http://youtu.be/_DKkVvOt6dk http://youtu.be/hQVTIJBZook

2,3,4。从这个http://eloquentjavascript.net/开始

  1. 像 jQuery 这样的库在规范跨浏览器的行为方面做得很好。

  2. 认为这就是您正在寻找的http://dochub.io/#javascript/

于 2012-08-21T08:42:34.120 回答