js 学习笔记(1)
前言:这篇文章是一个js的新手的学习笔记,如果来的是大神,那可以跳过了。当然我也很希望大神能给我一些宝贵的帮助和建议,将会不胜感激。
先记录一些闲事:从大一的时候已经对js有接触了,只是当时主要学习面向对象的思想和 java ,并没有对js进行深入了解。真正去了解js也是最近几个星期的事情。
js有很多优秀的框架,jQuery Ext Dojo knockout 等,他们不但能实现前端的快速开发,减轻程序员的负担,而且对浏览器的兼容也是极好的。
好的框架固然好用,只是用框架的同时,不去了解,或者自己实现一下那些框架的底层,这个对自己的学习与发展是不利的。
于是这些日子开始了学习js的路程。当然,js的历史之类的就不记下了。
1、对js的浅解
学习每一门语言,都先要学习其中的基本类型和基本语法,而且这种语言的运行环境,可以对什么进行操作。
例如java运行在java虚拟机上,要经过编译才能运行,所以第一次执行比较慢。
javascript是直接由浏览器解析,所以不存在编译问题。但是就是由于是浏览器直接解析的,会出现各种浏览器的兼容问题,这个以后的笔记会提及到。
javascript的工作原理是浏览器解析,然后浏览器根据js来对DOM来进行相关的操作。
好了,什么是DOM?相信刚接触js的童鞋也会有这个问题,而且会把这个问题忽略掉。
就像我上面说的,一种计算机语言能对什么进行操作,例如C 、C++ 这类是可以直接对硬件进行交互,js是对DOM进行操作。
严谨的说(书上描述),DOM(document object model 文档对象模型)是针对XML 但是经过扩展用于html的应用程序编程接口。DOM把整个网页映射为一个多层节点结构。
简单的说(个人观点),就是整个html或者xml文档,其中的标签(html的基础)称为节点,标签之间有包含,并列等关系。js要做的是改变原本DOM的结构,或者在一些特殊的标签(如html5的<canvas>)进行绘图或者其他的操作,或者用Ajax websocke等异步数据交换技术来与后台交换数据。
还有BOM(Browser Object Model 浏览器对象模型),这个是对浏览器的行为进行的一些操作。
待修改...