JavaScript基本信息

JavaScript

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司(已被oracle收购)的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。

Netscape公司在最初将其脚本语言命名为LiveScript。Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”[2] ,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme[3] 。JavaScript与Java名称上的近似,是当时网景为了营销[4] 考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript脚本语言。Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。
前身是Live Script
  正式名称:ECMAScript
  ECMAScript-262是JavaScript标准,基于网景(Netscape)公司提出JavaScript语言和微软公司提出的JScript语言
  ECMA开始于1996年,在1997年7月,采纳了首个版本,1998年,该标准成为了国际ISO标准
2发展简史
编辑


Nombas 和 ScriptEase


大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言。Cmm 背后的理念很简单:一个足够强大可以替代宏操作(macro)的脚本语言,同时保持与 C (和 C ++)足够的相似性,以便开发人员能很快学会。这个脚本语言捆绑在一个叫做 CEnvi 的共享软件中,它首次向开发人员展示了这种语言的威力。
Nombas 最终把 Cmm的名字改成了 ScriptEase,原因是后面的部分(mm)听起来过于消极,同时字母 C “令人害怕”。
如今 ScriptEase 已经成为了 Nombas 产品背后的主要驱动力。
Netscape 发明了 JavaScript


当 Netscape Navigator 崭露头角时,Nombas 开发了一个可以嵌入网页中的 CEnvi 的版本。这些早期的试验被称为 Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上使用的客户端语言。而 Nombas 丝毫没有料到它的理念将会成为万维网的一块重要基石。
当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,即便这时网页已经不断地变得更大和更复杂。而更加加剧用户痛苦的是,仅仅为了简单的表单有效性验证,就要与服务器进行多次地往返交互。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条告诉你忘记填写一个必要的字段。
那时正处于技术革新最前沿的 Netscape,开始认真考虑开发一种客户端脚本语言来解决简单的处理问题。
当时工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,当时的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。Netscape 与 Sun 及时完成 LiveScript 实现。
就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。Netscape 的赌注最终得到回报,JavaScript 从此变成了因特网的必备组件。
三足鼎立


因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。恰巧那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。
在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。
标准化


1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA)。第 39 技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义。由来自 Netscape、Sun、微软、Borland 和其他一些对脚本编程感兴趣的公司的程序员组成的 TC39 锤炼出了 ECMA-262,该标准定义了名为 ECMAScript 的全新脚本语言。
在接下来的几年里,国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。[5] 
下面的示意图为您展示了上面这段代码的结构:




您发个本系列文章由@浅墨_毛星云 出品,转载请注明出处。  
文章链接: http://blog.csdn.net/poem_qianmo/article/details/26977557
作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442
知乎:http://www.zhihu.com/people/mao-xing-yun
邮箱: happylifemxy@163.com
写作当前博文时配套使用的OpenCV版本:


http://www.zhms.cn/User/G/photoview.asp?130037-3558639.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558640.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558641.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558642.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558644.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558644.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558657.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558665.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558670.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558670.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558678.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558680.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558707.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558734.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558734.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558759.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558768.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558768.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558781.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558787.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558789.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558826.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558841.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558854.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558854.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558866.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558870.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558870.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558885.html
http://www.zhms.cn/User/G/photoview.asp?130037-3558885.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值