【问题标题】:What's the difference between JavaScript, JScript & ECMAScript? [closed]JavaScript、JScript 和 ECMAScript 有什么区别? [关闭]
【发布时间】:2012-08-16 13:41:58
【问题描述】:

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

我想知道:

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

  2. 我应该重点学习哪些方面?

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

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

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

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

谢谢。

【问题讨论】:

  • ECMAScript 是一个标准,其中 JavaScript 和 JScript 是两种不同的实现(或“方言”)。
  • 维基百科:如果您只阅读第一部分,JScript 将回答您的部分问题。
  • 下面的问题也有些重复这个问题:What is the difference between JavaScript and ECMAScript?
  • 我发现的最好的 JavaScript/ECMAscript 书叫做 JavaScript: the Good Parts。由普及 JSON 数据格式的 Douglas Crockford 编写。谷歌搜索书名将在前几个结果中的某处找到合法的免费副本。

标签: javascript jscript


【解决方案1】:

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

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

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

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

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

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

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

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

【讨论】:

    【解决方案2】:
    1. ECMAScript 是 Ecma International 在 ECMA-262 规范和 ISO/IEC 16262 中标准化的脚本语言。该语言以几种著名方言的形式广泛用于 Web 上的客户端脚本例如 JavaScript、JScript 和 ActionScript。

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

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

    4. 我会推荐this

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

    6. here

    【讨论】:

    【解决方案3】:

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

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

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

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

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

    在 4 号和 6 号,我必须先自己检查一下。

    希望能帮到你。

    问候

    【讨论】:

      【解决方案4】:
      1. ECMAScript 是语言,JavaScript 和 JScript 是方言

      2. 我个人会研究和学习 JavaScript。

      3. 这取决于你想支持什么浏览器,很容易用谷歌搜索。

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

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

      6. MDN.

      【讨论】:

      • 定义方言。
      【解决方案5】:
      1. 请查阅维基百科。
      2. Javascript 是一种语言,这可能是您想学习的内容,而不是规范。
      3. 欢迎来到地狱,所有人。 ModernizrjQuery 的存在是有原因的。除非您使用 Node.js 在服务器端执行 Javascript,否则在这种情况下您可以只专注于一个 JS 引擎(V8 for Node)。
      4. MDN
      5. 测试、测试、测试和重新测试。尽量不要使用太新的功能并使用库。
      6. MDN 告诉您哪个浏览器支持什么。

      【讨论】:

      • “维基百科”3on pls
      • 我不会假装比人类最大的百科全书还要知识。你呢?
      • 至少你可以从中引用或总结。这和不回答一样好。
      • 应该使用 Stackoverflow 就维基百科无法简单回答的问题提出问题。这是对社区的侮辱。
      • 确实如此。但是,当被问及此类问题时,不应得到答案。
      【解决方案6】:
      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/

      【讨论】:

        猜你喜欢
        • 2010-09-13
        • 2010-10-29
        • 2014-03-02
        • 2020-12-28
        • 2011-03-08
        • 2014-04-14
        • 2011-11-30
        相关资源
        最近更新 更多