这是我今天没有找到明确答案的事情.
>似乎有不同版本的Javascript,但我没有看到任何书籍或网站说“这针对ECMAScript版本2”.似乎有一个ECMAScript 5,如果相信wiki页面,则不会在任何浏览器中使用.那么我需要了解版本吗?
>服务器端Javascript.我已经看到了一些这方面的提及,我没有特别关注它,但在一两句话中,服务器端Javascript使用在哪里,为什么?
>我假设不同的浏览器支持Javascript的不同子集(猜测),但是再次,我还没有读到它,鉴于所有其他Web技术的状态,它似乎是合乎逻辑的.是的还是我离开的?
解决方法
1:ECMAScript 3是目前所有浏览器都支持的.ES5是目前正在采用的新标准.
但这并不能阻止你在今天的浏览器中使用大多数ES5功能.事实证明,你可以通过向原型添加函数来模拟大多数函数(比如string.trim函数很容易实现)
更新:正如Reid在评论中指出的那样,有一个很好的表格,概述了可用于不同浏览器here的ES5兼容性
2:Node.js似乎是目前最受欢迎的服务器端高级JavaScript引擎,但其中有很多.
还有一些其他服务器也在服务器上运行javascript.例如,MongoDB使用JSon来回传输结果,map / reduce函数必须用JavaScript编写,然后在服务器上运行.
3:不,它们都支持ES3标准.它们仅在API方面不同(语言相同).
这意味着虽然Google Chrome支持本地存储,但它们通过DOM内的JavaScript对象提供对该功能的访问.在IE8中,这些对象根本不存在且无法调用.
另外:EcmaScript总是指JavaScript,他们只是无法命名标准JavaScript,因为JavaScript是Sun(拥有Java的公司)的商标.