javaScript高级程序设计阅读总结

来源:互联网 发布:学生赚软件下载 编辑:程序博客网 时间:2024/05/22 11:36
从3月1号到4月5号历时号历时36天,我阅读了这本《javaScript高级程序设计》,虽然名曰“高级”不过不要被它的标题所吓倒,其通篇内容都是讲述一些javaScript基础知识以及一些高级且有用的特性。

javaScript主要是操作网页行为层是一门解释型语言,它与html结构层,css表示层,共同构建整个页面。它简单,单线程但渐渐成为Web开发重要一员。与一般的程序语言一,javaScript拥有自己的语法、基本数据类型、语句、函数等,当然还有它的Ajax与事件驱动,下面将逐一进行介绍。

1、数据类型,javaScript共有六种基本数据类型,分别是undefined、Null、Boolean、Number、String、Object,可用typeOf关键字对变量进行类型判断。引用类型,包括Array、Date、RegExp、Function,以及各基本数据类型的包装类型,引用类型可用关键字instanceof来判断。

2、对象创建与继承、javaScript创建对象是基于原形模式实现的,既每一个对象都有一个Prototype属性,其中会存放对象的构造函数的指针并可以用来存放共享的属性与方法,当读取某个对象的某个属性时,首先会搜索实例本身,如果未找到则继续搜索其原形对象。javaScript继承是基于原形链的,子类原形的构造函数指针指向子类实例,继承父类的原形,父类原形又指向父类的实例继承以这种原型链条的形式向上链接。

3、DOM操作,DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构。javaScript可以方便的查询、构建与删除DOM元素使页面动态的变化。

4、事件,javaScript支持多种事件如鼠标与滚轮事件、键盘与文本事件、变化事件等。事件流包括事件捕获阶段与事件冒泡阶段。

5、JSON,json是一种数据格式,它可以包含简单值、对象、数组等,并不是只有javaScript支持json,很多编程语言都有针对json的解析器与序列化器。json是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量。

6、ajax与comet。ajax是一种页面向服务器请求数据的技术,  comet则是一种服务器向页面推送数据的技术
Web数据传输运用了传统的http协议,也就是我们平常所说的三次握手,http协议是由客户端发起请求服务器给出响起,服务器不会记录客户端的详细信息以及主动连接客户端,没有请求就没有响应,这种模式主要是为了节省服务器资源,但是科技的进度带来了各式各样新的需求。如果客户端希望获取服务器的实时数据参见的实现方式有短轮询,长轮询以及数据流。短轮询既浏览器定时向服务器发送数据,查看有没有更新数据,长轮询则是服务器接受到客户端请求是会一直保持连接打开,直到有数据可以发送。当发送完数据时浏览器会关闭连接随即又向服务器发送一个新的请求以获取最新的数据。另一种实现持续连接的方式是http流,发送一个链接后,服务器会保持连接持续打开,然后周期性的向浏览器发送数据。管理comet连接很容易出错。
为了简化这一技术,为comet创建了一个新的接口即SSE(Server-Sent Events,服务器发送事件)用于创建到服务器的单项连接,其支持短轮询,长轮询以及http流,并能在断开连接时自动重新连接。其实实现持续连接最好的一种方式。
还有一种新的方式采用WebScoket协议,其可在一个持续的连接上提供双向通信,适合聊天室等场景,但遗憾的是现在很少有服务器能够支持WebScoket通信。

7、跨域技术,常用Web跨域请求有JSONP与CORS等。另外还包括图像Ping、comet、服务器发送事件、WebSockets。

0 0
原创粉丝点击