前言
最近购买JavaScript高级程序设计,每一章的重点内容都打下笔记吧。加深印象的同时便于复习
第一章,主要介绍了JavaScript为什么会在那个时代诞生,以及如何实现
简短的历史回顾
1995年,网景公司名叫Brendan Eich的工程师,只用10天就写出了JavaScript第一版。主要用途是替代服务器端处理输入验证。在此之前,要验证某个必填字段是否已填写,或者某个输入值是否有效,需要与服务器的一次往返通信。随着网页变得越来越大、越来越复杂。当你好不容易填写完毕,单机“提交按钮”,等了30秒以后,看到一条必填字段没填,此时是什么心情??
JavaScript实现
完整的JavaScript实现包含以下几个部分:
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)
ECMAScript
ECMAScript,即是定义的语言,并不局限于Web浏览器。事实上,这门语言没有输入和输出之类的方法,只是作为一个基准来定义,以便在它之上构建更稳健的脚本语言。提起这个名词,或许很多人不记得。要是提起大名鼎鼎的ES6,是不是知道的更多?
ECMAScript和JavaScript的关系是:前者是后者的规格,后者是前者的一种实现。(实现ECMAScript语言的还有Adobe ActionScript、Jscript)
在基本的层面,它描述这门语言的如下部分:
语法
类型
语句
关键字
保留字
操作符
全局对象
DOM
DOM就是文档对象模型,什么是文档对象模型呢?这就要好好的说一下了。
HTML DOM会将HTML解析成一个树状的结构,该结构被称为节点树,以下列一个简单HTML文档为例
<html>
<head>
<title>
Document
</title>
</head>
<body>
<p>
Hello World!
</p>
</body>
</html>
学习是一个艰苦的过程,当然如果能把技术学成,最后也一定可以获得高薪工作。
掌握一个好的学习方法,跟对一个学习的人非常重要。今后要是大家有啥问题,
可以随时来问我,能帮助别人学习解决问题,对于自己也是一个提升的过程。
自己整理了一份最全面前端学习资料,从最基础的HTML+CSS+JS到HTML5的项目实战的学习资料都有
整理这是我的前端技术交流Q un++++++++++++++钱面是603----中间是985----后面是993----++++++++++++++有问题随时在里面问我,能给大家提出很多宝贵建议。
这些代码通过DOM可以表示为一组分层节点,如下图所示
DOM通过创建表示文档的树,让开发者随心所欲控制网页的内容和结构。使用DOM API,可以轻松地删除、添加、替换、修改节点。
为什么DOM是必需的?
主要原因就是,网景和微软采用不同思路开发DHTML(Dynamic HTML简称,就是动态的HTML),人们担心如果无法控制网景和微软各行其是,那么web端就会发生分裂。万维网联盟开始制定DOM标准的进程。
BOM
BOM就是浏览器对象模型,用于支持访问和操作浏览器的窗口。使用BOM,开发者可以操控浏览器显示之外的部分。BOM是唯一一个没有相关标准的JavaScript实现。HTML5改变了这个局面
总体来说,BOM主要针对浏览器窗口和子窗口。人们把任何特定于浏览器的扩展都归在BOM的范畴内
例如:
弹出新浏览器窗口的能力
移动、缩放和关闭浏览器窗口的能力
navigator对象,提供关于浏览器的详尽信息
location对象,提供浏览器加载页面的详尽信息
screen对象,提供关于用户屏幕分辨率的详尽信息
performance对象,提供浏览器内存占用、导航行为和时间统计的详尽信息
对cookie的支持
其它自定义对象。如:XMLHttpRequest和IE的ActiveXObject
总结
ECMAScript:描述了JS的语法和基本对象
DOM(文档对象模型):处理网页内容
BOM(浏览器对象):处理网页内容的方法