2015年es6(具体应该叫做ecmascript2015简称es2015或者es6)问世,几乎改变了js的书写方式,尤其丰富了异步处理,我们以前的异步处理都是通过回调,这样很容易陷入会掉陷阱,并且代码是横向书写,让别人很难读懂。在es7将会提出对异步的终极解决方案,不管是生成器还是promise都是简化和清晰化我们异步处理方案。我们对类的定义都是通过构造函数处理,在es6可以使用class关键字去定义。同样es6只被一小部分浏览器支持,我们可以使用babel.js将我们书写的es6语法转为es5语法而被支持。es5已经被高级浏览器支持(除低级ie6 7),从es5到es6由270多页的定义标准增长为600多页,es5主要提出了对数组的迭代处理功能,我们还可以定义严格模式限制自己的书写方式。es中是没有第4版本的,不存在es4的说法,因为种种纠纷,es4并入到了es3的一个版本当中。es3就是我们经常使用的写法,也是被所有主流浏览器所支持(包括ie6 7)。es2和es1是js语法的早期方案。
js除了es作为语法外,我们前端的处理还要借助和操作DOM和BOM来呈现出我们的处理。DOM1到2到3已经都被主流浏览器支持,当然不同浏览器可能在dom接口上采用不用的方法不过处理结果却是相同,我们利用能力监测可以达到所有兼容。
BOM作为浏览器级的处理接口,我们利用es可以操作和处理浏览器。
说到js我们就不的不说说简化我们处理的类库,根据业务需求大概可以有下面分类:
偏底层类库:jq,zepto,mootools利用这些我们可以开发各种效果和业务需求。ui框架:jq ui,jq easy ui,jq mobi,bootstrap,extjs,集html,css和js于一体,为我们写好了ui展现和业务处理。mv*框架:angular.js,backbone,对数据的处理,借助dom。模块化:require.js,sea.js:模块化的开发我们项目,根据需求加载需要的js代码。facebook的reactjs可以做到mv*中的v层处理,来显示我们的数据到页面中。
我们作为前端人员,知道nodejs当前也是火热的不行,nodejs的底层是c++和c,只是借用了js的语法进行处理,nodejs的一个方向就是作为web服务端。
webapp几乎已经死去,hybrid app(phonegap等)的开发模式被更多的人去使用,利用js配合html5我们可以同时开发出满足安卓和苹果平台的app。
除了前端开发,做服务端,app开发,我们的js配合ht5在游戏领域也是在发光发热,canvas配合我们的js物理引擎可以开发各种网页游戏。
利用nodejs我们还可以开发桌面软件。
当然js还有很多事可以做!!!!!!