JavaScript讲义完整版Word文件下载.docx
《JavaScript讲义完整版Word文件下载.docx》由会员分享,可在线阅读,更多相关《JavaScript讲义完整版Word文件下载.docx(175页珍藏版)》请在冰豆网上搜索。
1.什么是JavaScript
JavaScript是一种具有面向对象能力、解释型的程序设计语言。
更具体一点,它是基
于对象和事件驱动并具有相对安全性的客户端脚本语言。
因为他不需要在一个语言环境下运
行,而只需要支持它的浏览器即可。
它的主要目的是,验证发往服务器端的数据、增加Web互
动、加强用户体验度等。
2.JavaScript特点松散性
JavaScript语言核心与C、C++、Java相似,比如条件判断、循环、运算符等。
但它
却是一种松散类型的语言,也就是说,它的变量不必具有一个明确的类型。
1)对象属性
JavaScript中的对象把属性名映射为任意的属性值。
它的这种方式很像哈希表或关联数
组,而不像C中的结构体或者C++、Java中的对象。
2)继承机制
JavaScript中的面向对象继承机制是基于原型的,这和另外一种不太为人所知的Self语
言很像,而和C++以及Java中的继承大不相同。
3.JavaScript历史
1)引子
大概在1992年,有一家公司Nombas开发一种叫做C--(C-minus-minus,简称Cmm)的嵌
入式脚本语言。
后应觉得名字比较晦气,最终改名为ScripEase。
而这种可以嵌入网页中的
脚本的理念将成为因特网的一块重要基石。
2)诞生
1995年,当时工作在Netscape(网景)公司的布兰登(BrendanEich)为解决类似于“向服务
器提交数据之前验证”的问题。
在NetscapeNavigator2.0与Sun公司联手开发一个称之为
LiveScript的脚本语言。
为了营销便利,之后更名为JavaScript(目的是在Java这课大树下好
乘凉)。
3)邪恶的后来者
因为JavaScript1.0如此成功,所以微软也决定进军浏览器,发布了IE3.0并搭载了一
个JavaScript的克隆版,叫做JScript(这样命名是为了避免与Netscape潜在的许可纠纷),
并且也提供了自己的VBScript。
4)标准的重要
在微软进入后,有3种不同的JavaScript版本同时存在:
NetscapeNavigator3.0中的
JavaScript、IE中的JScript以及CEnvi中的ScriptEase。
与C和其他编程语言不同的是,
JavaScript并没有一个标准来统一其语法或特性,而这3种不同的版本恰恰突出了这个问题。
随着业界担心的增加,这个语言标准化显然已经势在必行。
5)ECMA
1997年,JavaScript1.1作为一个草案提交给欧洲计算机制造商协会(ECMA)。
第39
技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法
和语义”(http:
//www.ecma-international.org/memento/TC39.htm)。
由来自Netscape、Sun、微
软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的TC39锤炼出了
ECMA-262,该标准定义了叫做ECMAScript的全新脚本语言。
6)灵敏的微软、迟钝的网景
虽然网景开发了JavaScript并首先提交给ECMA标准化,但因计划改写整个浏览器引擎
的缘故,网景晚了整整一年才推出“完全遵循ECMA规范”的JavaScript1.3。
而微软早在一
年前就推出了“完全遵循ECMA规范”的IE4.0。
这导致一个直接恶果:
JScript成为JavaScript
语言的事实标准。
7)标准的发展
在接下来的几年里,国际标准化组织及国际电工委员会(ISO/IEC)也采纳ECMAScript作
为标准(ISO/IEC-16262)。
从此,Web浏览器就开始努力(虽然有着不同程度的成功和失败)
将ECMAScript作为JavaScript实现的基础。
8)山寨打败原创
JScript成为JavaScript语言的事实标准,加上Windows绑定着IE浏览器,几乎占据全
部市场份额,因此,1999年之后,所有的网页都是基于JScript来开发的。
而JavaScript1.x
变成可怜的兼容者。
9)网景的没落与火狐的崛起
网景在微软强大的攻势下,1998年全面溃败。
但,星星之火可以燎原。
同年成立
Mozilla项目中Firefox(火狐浏览器)在支持JavaScript方面无可比拟,在后来的时间里一步
步蚕食IE的市场,成为全球第二大浏览器。
10)谷歌的野心
GoogleChrome,又称Google浏览器,是一个由Google(谷歌)公司开发的开放原始
码网页浏览器。
他以简洁的页面,极速的浏览,一举成为全球第三大浏览器。
随着移动互联网
的普及,嵌有Android系统的平板电脑和智能手机,在浏览器这块将大有作为。
11)苹果的战略
Safari浏览器是苹果公司各种产品的默认浏览器,在苹果的一体机(iMac)、笔记本(Mac)、
MP4(ipod)、iphone(智能手机)、ipad(平板电脑),并且在windows和Linux平台都有相应版
本。
目前市场份额全球第四,但随着苹果的产品不断的深入人心,具有称霸之势。
12)幸存者
Opera的全球市场份额第五,2%左右。
它的背后没有财力雄厚的大公司,但它从“浏览
器大战”存活下来的,有着非常大的潜力。
4.JavaScript核心
虽然JavaScript和ECMAScript通常被人们用来表达相同的含义,但JavaScript的含义
却比ECMA-262中规定的要多得多。
一个完整的JavaScript应该由下列三个不同的部分组成。
1.核心(ECMAScript)
2.文档对象模型(DOM)
3.浏览器对象模型(BOM)
1)ECMAScript介绍
由ECMAScript-262定义的ECMAScript与Web浏览器没有依赖关系。
ECMAScript
定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。
我们常见的
Web浏览器只是ECMAScript实现可能的宿主环境之一。
既然他不依赖于Web浏览器,那么他还在哪些环境中寄宿呢?
比如:
ActionScript、
ScriptEase等。
而他的组成部分有:
语法、类型、语句、关键字、保留字、操作符、对象等。
2)ECMAScript版本
ECMAScript目前有四个版本,1、2、3、4、5版本,这里不再进行详细探讨。
有兴
趣的同学,可以搜索查阅。
3)Web浏览器对ECMAScript的支持
到了2008年,五大主流浏览器(IE、Firefox、Safari、Chrome、Opera)全部做到了与
ECMA-262兼容。
其中,只有Firefox力求做到与该标准的第4版兼容。
以下是支持表。
浏览器
NetscapeNavigator2
NetscapeNavigator3
NetscapeNavigator4--4.05
NetscapeNavigator4.06--4.79
Netscape6+(Mozilla0.6.0+)
InternetExplorer3
InternetExplorer4
InternetExplorer5
InternetExplorer5.5--7
InternetExplorer8
InternetExplorer9
Opera6-7.1
ECMAScript兼容性
----
第1版
第3版
第3.1版(不完全兼容)
第5版
第2版
Opera7.2+
Opera11+
Safari3+
Firefox1--2
Firefox3/4/5/6/7/8/9
第3/5版
4)文档对象模型(DOM)
文档对象模型(DOM,DocumentObjectModel)是针对XML但经过扩展用于HTML的应
用程序编程接口(API,ApplicationProgrammingInterface)。
DOM有三个级别,每个级别都会新增很多内容模块和标准(有兴趣可以搜索查询)。
以
下是主流浏览器对DOM支持的情况:
NetscapeNavigator1--4.x
NetscapeNavigator6+(Mozilla0.6.0+)
InternetExplorer2--4.x
Opera1--6
DOM兼容性
1级、2级(几乎全部)、3级(部分)
1级(最小限度)
1级(几乎全部)
Opera7--8.x
1级(几乎全部)、2级(部分)
1级
Opera9+
Safari1.0x
Safari2+
1级、2级(部分)
Chrome0.2+
Firefox1+
5)浏览器对象模型(BOM)
访问和操作浏览器窗口的浏览器对象模型(BOM,BrowserObjectModel)。
开发人员使
用BOM可以控制浏览器显示页面以外的部分。
而BOM真正与众不同的地方(也是经常会导
致问题的地方),还是它作为JavaScript实现的一部分,至今仍没有相关的标准。
6)JavaScript版本
身为Netscape“继承人”的Mozilla公司,是目前唯一沿用最初的JavaScript版本编号
的浏览器开发商。
在网景把JavaScript转手给Mozilla项目的时候,JavaScript在浏览器中最
后的版本号是1.3。
后来,随着Mozilla继续开发,JavaScript版本号逐步递增。
NetscapeNavigator4
Netscape