小编带你走进Javascript生产环境之“Javascript简介篇”

-> JavaScript简使

a) Javascript诞生于1995年,当时的目的是为了处理以前由服务器端语言负责的一些输入验证操作,在Javascript问世之前,必须把表单数据发送到服务器端才能确定用户是否填写某个必填项,是否输入无效的值,Netscape Navigator希望通过Javascript来解决这个问题,在人们普遍使用电话拨号上网的年代,能够在客户端完成一些基本的验证任务绝对是令人兴奋的,毕竟,拨号上网的速度之慢,导致了与服务器的每一次数据交换事实上都成了对人们耐心的一次考验。

b)  自此以后,Javascript逐渐成为了市面上常见浏览器必备的一项特殊功能。如今,Javascript的用户早已不在局限于数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力,今天的Javascript已经成为一门功能全面的编程语言,能够处理复杂的计算和交互,Javascript的作用是不言而喻的,就连手机浏览器,甚至那些专门为残疾人设计的浏览器等非常规浏览器都支持它。当然,微软的例子更为典型,虽然有自己的客户端脚本语言vbscript,但微软仍然在IE的早期加入了自己的Javascript实现(对IE而言,当我们提到javascript时,实际上就是指IE对javascript的实现——jscript),Javascript既简单又复杂,说它简单是学会使用它只要片刻功夫,说它复杂是因为真正掌握它要数年,要全面理解掌握Javascript,关键在于弄清它的本质、历史和局限性。

c) Netscape最初开发的是一款叫LiveScript的客户端语言,为了赶在发布日期完成,Netscape与Sun公司建立一个开发联盟,当时java正热潮,Netscape为了搭上媒体热炒java的顺风车,临时把Livescript改为Javascript。随着javascript的发布,用户关注度屡创新高,与此同时,微软决定向与Netscape navigator竞争的自家产品IE浏览器投入更多资源,不久,微软就在IE3中加入了名为jscript的javascript实现,微软推出了jscript意味着出现了三个不同的javascript版本:netscape中的javascript,IE中的jscript和scriptEase中的cenvi.与C语言不同,当时还没有标准规定javascript的语法和特性,三个不同版本并存的局面完全暴露了这个问题,随着业界担心的日益加剧,javascript的标准化问题提上了议事日程。

后来,以javascript1.1为蓝本的建议被提交给了欧洲计算机制造商协会,简称ECMA,经过大家的讨论研究,最终定义了一种名为 ECMAScript新标准语言标准。自此以后,浏览器厂商致力于将ECMAScript作为各自javascript实现的基础。

->Javascript实现

虽然javascript和ecmascript通常都被人们用来表达相同的含义,但是javascript的含义却比ecmascript规定的要多得多,没错,一个完整的javascript实现应该由下列三个部分组成:如下图所示

1、核心(ecmascript)--提供核心语言功能

2、文档对象模型(DOM)--提供访问和操作网页内容的方法和接口

3、浏览器对象模型(BOM)--提供与浏览器交互的方法和接口

javascript

ECMAScript简介

     ecmascript与web浏览器没有依赖关系,实际上,这们语言没有输入输出的定义,我们常见的web浏览器是ecmascript实现肯能的宿主环境之一,宿主环境不仅能提供基本的ecmascript实现,同时也提供该语言的扩展,以便语言与环境之间的对接交互,而这些扩展,如DOM,则利用ecmascript提供更多更具体的内容,以便实现针对环境的操作,众所周知的宿主环境还有ScriptEase 和Adobe  Flash.

    ecmascript规定了以下组成部分:

     1、语法 2、类型  3、语句 4、关键字5、保留字6、操作符7、对象

下图列出了实现ecmascript标准的各个版本

ecma

下面列出ECMA版本修订内容:

ECMA-262 第一版:支持UnitCode标准,与平台无关,删除针对浏览器的代码,也即和宿主环境没有依赖关系。

ECMA-262 第二版:主要是编辑加工的结果,这个版本更新为了与ISO保持严格一致,没做任何处理。

ECMA-262 第三版:修改的内容涉及字符串处理、错误定义、数值输出,新增了对正则表达式、新控制语句、try-catch异常处理的支持。

ECMA-262 第四版:强类型变量、新语句、新数据结构、真正的类和经典继承,还定义了与数据交互的新方式。

小结

目前主流浏览器有(IE/Firefox/Chrome/Safari/Opera)

所有浏览器对ecma-262第三版支持大体还不错,但是对DOM的支持相差比较多,对javascript中唯一尚无标准的BOM来说,尽管各浏览器都实现了某些众所周知的共同特性,但是其他特性还是会因浏览器而异(也是经常会导致问题的地方)。

敬请期待下一篇:HTML中的JavaScript.

原文地址:https://www.cnblogs.com/gaole/p/2509557.html