看了三四次《javascript高级程序设计》就可以看蝴蝶书《javascript语言精辟》,这是讲JS的语法设计,那些语法应该用,那些不应该用(如==、 with、 eval、 argument.caller),这提高你的代码质量必不可少。
如果你想写一个插件或一个库,就要涉及大量DOM,BOM知识了。毕竟javascript是胶水语言,而CSS与HTML在JS里都会映射为DOM,此外还有一些涉及浏览器的东西,叫BOM。
掌握各大浏览器提供的底层DOM、BOM API,及了解它们之间的差异,如何检测它们是否支持,如果屏蔽它们之间的差异性,如何选用最佳的API是我们成为高手的关键。
《PPK 谈 Javascript》,主要是说DOM的兼容性与可用性问题。
《JavaScript DOM高级程序设计》,这本非常优秀,不知为何被理没了(也可能是出版社的缘故,很早就买断货就不知道补课),我在这里了解许多操作CSS的API。
《JavaScript框架设计》这完全是本面向中高级的书,涉及一般书没有讲解过的模块加载器,事件管理系统,选择器引擎,异步列队,动画引擎,及时下日益流行的MVVM架构。
《数据结构与算法JavaScript描述》,越复杂的系统,最后都在架构与算法与数据结构上下功夫,虽然用得不多,但作为一个高手,算法不精真是一个痛点。比较实现一个选择器引擎,人家都会问你比jQuery的快吗?加之JS在这方面也有它的特殊点,因此还得学习。
时下也有许多angular与backbone的书,我本人认为他们基本上照搬官网的API文档,很少能讲到底层的实现,能获得的知识点太少了,它们只能用于入门(你英语不好的话),因此不建议入。
编程语言。js即JavaScript,分为前端和后端编程。
前端js主要在浏览器中通过api对html及css动态修改,从而达到在不刷新页面的情况下实现动画效果或数据动态绑定等。
后端js主要指“node.js”,与其他php、java等后端语言一样,可以操作数据库、文件和图像处理等。
1、js是一种解释性脚本语言(代码不进行预编译)
2、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
3、弱类型脚本语言
对使用的数据类型未做出严格的要求,可以进行类型转换,简单又灵活。
4、单线程,事件驱动
JavaScript对用户的响应,是以事件驱动的方式进行的。在网页(Web Page)中执行了某种操作所产生的动作,被称为“事件”(Event)。例如按下鼠标、移动窗口、选择菜单等都可以被视为事件。当事件发生后,可能会引起相应的事件响应,执行某些对应的脚本,这种机制被称为“事件驱动”。
5、面向对象
一种基于对象的脚本语言,这意味着JavaScript能运用其已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
6、安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。