《JavaScript高级程序设计》的学习总结 一
最近在看《JavaScript高级程序设计》,不得不说网上大家都推荐这本书是有道理的,书里面很多基础的东西以及代码的规范等等说的都很棒。
现在开始对这本书的学习进行一些笔记性的总结。
关于JavaScript的简单介绍:
随着web 的日益火热,加上当时网络速度的限制以及拨号上网的不便捷,人们对客户端脚本语言的需求也越来越强烈。举个例子:当时大部分
因特网的用户都是用速度为28.8kb/s的“猫”(调制解调器)上网,但是当时的网页大小以及复杂性却是在不断的增加中,有时候一个简单的表单验
证对但是的技术实现来说都是十分繁琐的,假想一下:我们输入一个用户名,然后等待十几分钟,然后服务器端返回一个“用户名输入错误”提示,
是多让人抓狂的事。 而当时走在技术革命最新前言的Netscape(网景) 公司 决定着手开发一种客户端语言,用来处理这种简单的验证方式。
当时就职于网景公司的布兰登-艾奇(Brenda Eich 以下简称布兰登),开始计划于1995年2月发布的Nestcape Navigator 2开发一种名为lLivescript
的脚本语言——该语言将同时在浏览器和服务器中使用(它在服务器中的名字叫LiveWire),为了赶在发布日前完成 ,网景与sun 公司建立了一个开发联盟。
在Nestcape Navigator 2 正式发布的前夕,网景公司为了搭上媒体炒的火热的 java 的顺风车,临时将LiveScript 改成JavaScript。所以平时大家开玩笑问
JavaScript与java什么关系,其实也没什么关系。之后JavaScript也是经历了很波折的发展,当时的各大公司打的火热,有兴趣可以自行去进行探讨,这里就不多说了。
JavaScript 的实现:
JavaScript是一种专门为网页交互而设计的脚本语言,由一下三个不同的部分组成。:
1、ECMAScript ,由ECMA—262 定义,提供核心语言功能;
2、文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
3、浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
本章完。下节预告 "如何在HTML中使用JavaScript"。
题外话:总结知识对我来说真的是一个很困难的事情,因为一方面我比较懒,加上自己手头上已经有书了,总结一次相当于再把书上的东西抄一次,让我感觉真的是很麻烦的事。
另一方面总结的东西我也不想全部搬书上的,因为有一些基础的东西着实是没必要再拿出来说一次,而且总是搬书上的东西是在无趣。所以我的总结方式应该会趋向于:
1、基础部分(总结出为什么会这样,这样的优势,比如探讨javascript 的引用方式)。
2、一些让人不注意的事(JavaScript这门语言在很多时候还是让人莫名其妙的例如 0.1+0.2==0.300000004的情况).
3、重点部分(比如:闭包,作用域,原型,DOM等等)。
目前大概的总结方向就是这样吧。以JavaScript的简史和实现方式为开头是因为我觉得JavaScript真的是一个很酷的语言,想象下,在那个年代,一个可以进行客户端验证的语言腾空而出,
颇有一种“闪开让我来”的力挽狂澜的感觉。还有就是正所谓“吃水不忘挖井人”,大概了解这门语言的诞生以及作者,对这门语言的学习还是有一些帮助的,加上不得不说的是当时浏
览器之争,各个公司之间的竞争对这门语言的发展也有很大的影响,甚至我们今天常常诟病的一些“bug” 或者吐槽,也是和当时的情况问题相关的。(这里也可以看看《javascript
编程艺术》里面对于JavaScript的滥用以及当时的问题也有提及)。