JavaScript高级程序设计(第4版)-第一章学习

第一章 什么是Javascript

1、历史

JavaScript的名字怎么来的

首先,咱们从javascript的历史开始了解,在之前的时候网页要验证某个必填字段是否填写,或者是判断输入的值的正确与否,每一次都要与服务器来一次交互通讯,你能够想象一下:“当你填完一个信息登记表单,提交后,等待30秒,结果确实你的必填字段没填或者是值无效”,想象都崩溃:(javascript

而后,1995 年,网景公司一位名叫 Brendan Eich 的工程师,开始为即将发布的 Netscape Navigator 2(是浏览器简称NN) 开发一个叫 Mocha(后来更名为 LiveScript)的脚本语言。当时的计划是在客户端和服务器端都使用它,它在服务器端叫 LiveWire。LiveScript就是来解决这种每一次都要与服务器来一次交互通讯的问题,后来为了遇上java的热度就更名为javascripthtml

JavaScript这个名字就这么诞生了。html5

又来一个JScript?

可是,到后来微软看到网景公司的JavaScript大受欢迎,因而就大力投入资源研发IE,在网景公司发布Netscape Navigator 3以后不久,微软就发布了IE3,为了与网景的JavaScript有区别把解决服务器的往返通讯问题的脚本取名JScript。java

有两个版本一个JavaScript、一个JScript怎么办?

微软的 JavaScript 实现意味着出现了两个版本的 JavaScript:Netscape Navigator 中的 JavaScript,以及 IE 中的 JScript。JavaScript 尚未规范其语法或特性的标准,两个版本并存让这个问题更加突出了。随着业界担心日甚,JavaScript 终于踏上了标准化的征程。为了给JavaScript标准化,1997 年,JavaScript 1.1 做为提案被提交给欧洲计算机制造商协会(Ecma),一群少年走上了改造之路,这群少年就是来自网景、Sun、微软、Borland、Nombas 和其余对这门脚本语言有兴趣的公司的工程师组成。他们被称为第 39 技术委员会(TC39),经过他们的努力就打造了 ECMA-262,新的的脚本语言标准

2、 知识点

以上部分就是一些历史故事,有兴趣能够仔细了解, 重点仍是如下知识点:
 
1.其实JavaScript是分红3个部分BOM、DOM、ECMAscript,BOM和DOM咱们会在后面的内容在学习如今就了解了解。
 
2.ECMAscript在前面的历史能够了解到就是一种规范,知足这种规范的都是ECMAscript,JavaScript 实现了ECMAScript,而 Adobe ActionScript 一样也实现了 ECMAScript。
 
3.ECMAscript到底定义了那些呢?
语法、类型、语句 、关键字、保留字、操做符、全局对象。
 
4.随着ECMAscript的发展有了不少的版本:
主要学习ES5和ES6版本,可是到如今一共有到ES10版本;
ECMA-262第 5 版新功能包括原生的解析和序列化 JSON 数据的 JSON 对象、方便继承和高级属性定义的方法,以及新的加强 ECMAScript 引擎解释和执行代码能力的严格模式。
ECMA-262 第 6 版,俗称 ES六、ES2015 或 ES Harmony(和谐版),于 2015 年 6 月发布。这一版包含了大概这个规范有史以来最重要的一批加强特性。ES6 正式支持了类、模块、迭代器、生成器、箭头函数、期约、反射、代理和众多新的数据类型。
 
5.ECMAScript 符合性是什么意思?
ECMA-262 阐述了什么是 ECMAScript 符合性。要成为 ECMAScript 实现,必须知足下列条件(前两个是必要条件):
~支持 ECMA-262 中描述的全部“类型、值、对象、属性、函数,以及程序语法与语义”;
~支持 Unicode 字符标准。
此外,符合性实现还能够知足下列要求。
~增长 ECMA-262 中未说起的“额外的类型、值、对象、属性和函数”。ECMA-262 所说的这些额
外内容主要指规范中未给出的新对象或对象的新属性。
~支持 ECMA-262 中没有定义的“程序和正则表达式语法”(意思是容许修改和扩展内置的正则表
达式特性)。
 
6.DOM(文档对象模型)是一个应用编程接口(API),用于在 HTML 中使用扩展的 XML。DOM 将整个页面抽象为一组分层节点。HTML 或 XML 页面的每一个组成部分都是一种节点,包含不一样的数据。
DOM 经过建立表示文档的树,让开发者能够为所欲为地控制网页的内容和结构。使用 DOM API,能够轻松地删除、添加、替换、修改节点。
 
7.万维网联盟(W3C,World Wide WebConsortium)开始了制定 DOM 标准
 
8.BOM
IE3 和 Netscape Navigator 3 提供了浏览器对象模型(BOM) API,用于支持访问和操做浏览器的窗
口。使用 BOM,开发者能够操控浏览器显示页面以外的部分。而 BOM 真正独一无二的地方,固然也是
问题最多的地方,就是它是惟一一个没有相关标准的 JavaScript 实现。 HTML5 改变了这个局面,这个版
本的 HTML 以正式规范的形式涵盖了尽量多的 BOM 特性。因为 HTML5 的出现,以前不少与 BOM
有关的问题都迎刃而解了。
整体来讲,BOM 主要针对浏览器窗口和子窗口(frame),不过人们一般会把任何特定于浏览器的
扩展都归在 BOM 的范畴内。好比,下面就是这样一些扩展:
   弹出新浏览器窗口的能力;
   移动、缩放和关闭浏览器窗口的能力;
   navigator 对象,提供关于浏览器的详尽信息;
   location 对象,提供浏览器加载页面的详尽信息;1.3 JavaScript 版本
   screen 对象,提供关于用户屏幕分辨率的详尽信息;
   performance 对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
   对 cookie 的支持;
   其余自定义对象,如 XMLHttpRequest 和 IE 的 ActiveXObject。
由于在很长时间内都没有标准,因此每一个浏览器实现的都是本身的 BOM。有一些所谓的事实标准,
好比对于 window 对象和 navigator 对象,每一个浏览器都会给它们定义本身的属性和方法。如今有了
HTML5,BOM 的实现细节应该会日趋一致。关于 BOM,本书会在第 12 章再专门详细介绍。
 

总结:这章主要是了解JavaScript的诞生历史和DOM、BOM的概念,那个时候网页开发很是的不统一很乱,因而为了统一而产生了许多的标准:ECMAscript、DOM标准到后来的BOM的html5日趋一致。正则表达式

相关文章
相关标签/搜索