JavaScript DOM 编程艺术(第2版) 读后感

这本书是我进入前端领域第一本“里程碑”似的读物,反复读过几遍,受益匪浅。下面依次做一些总结,也对这本书完结划上句号。

第1章:JavaScript简史

蛮有意思的一段历史,概述了微软“IE”和其他浏览器的大战。


第2章:JavaScript语法

主要从 变量、数据类型、操作符、循环语句、函数、作用域进行阐述。

该章知识点杂乱,非常多,基本上属于小知识点:(对基本知识点梳理)

1. 变量命名大小写敏感(命名使用驼峰命名法);

2. 字符串转义字符( \ );

3. 对象的三种常见创建方式 :直接量、关键字New、构造函数;

4. 字符串 操作符使用("+") 任意类型 会造成拼接效果;

5. 全局变量,局部变量的区别;

6. Js中三种对象类型:自定义对象,内建对象,宿主对象;


第3章:DOM

讲解DOM的基本操作,网页内容的构成(节点),class属性,如何获取页面元素及其相关API

1. DOM D:document,O:object,M:model;

2. html由节点构成,节点分为 元素节点、文本节点、属性节点;

3. class属性和id属性是为元素贴上标签,为了方便找到或者实现特定元素的特定效果;

4. 获取页面元素API:getElementById、getElementsByTagName(返回类数组对象)、gerElementsByClassName(返回类数组对象),类数组即为:像数组的对象,类数组和数组可以相关转换;

5. 设置属性API:getAttrbute、setAttribute;


第4章:案例研究:JavaScript 图片库

本章开始做一些实际的东西,用到相关API,做页面交互。具体用到DOM方法:childNodes、nodeType、nodeValue、firstChild、lastChild;

第5章:最佳实践

该章主要讲解了概念性的东西,但具有指导意义。

1. 平稳退化,渐进渐强(使用了太多嗅探代码);

2. 结构与样式分离(推荐使用外部样式表);

3. 结构与行为分离(推荐使用外部Js文件);

4. 性能考虑:减少Dom操作、减少http请求,压缩脚本······;


第6章:案例研究:图片库改进版

该章主要是对第4章案例代码“图片库”进行改良,让其符合第5章的指导思想,比如说:平稳退化,结构分离等等,另外插入了window.onload事件与键盘访问API;


第7章:动态创建标记

Dom操作无非是“增”、“删”、“查”、“改”。本章主要阐述的就是如何“增”,使用API增加相关节点,改变html结构。

1. document.write与innerHTML的区别;

2. API:createElement、appendChild、createTextNode、insertBefore;

3.Ajax(Asynchronous Javascript And XML)即:异步提交。介绍了其核心对象:XMLHttpRequest,及其如何使用AJAX;


第8章:充实文档的内容

该章内容很杂,如果让我用一句话概括“让一切网页符合语义化”。它总体说来,就是让编写者在合适的地方使用合适的标签处理合适的事情。比如:使用标签<dl><dt><dd>代替<ul><li>······


第9章:CSS-DOM

围绕三个核心:结构层(html)、表现层(css)、行为层(JavaScript),讨论三个问题:Style属性,如何检索样式,如何改变样式。

1. style:通过Dom操作Style对象获取页面元素属性(注:此方法只适用于内联样式,若使用外边样式变,请参考API(getComputedStyle)该方法返回元素最终属性,但是属性为“只读”;

2. 使用Js,通过Dom操作,为指定元素添加class属性,使其获得独特样式;

3. 伪类 即:为特定元素在特定状态下,拥有某种效果,原则上特征是不可以从文档树上推断得到的。一般伪类:

:link(用于未被访问的链接)、:visited(用于已被访问的链接)、:hover(鼠标悬停的时候)、:active(鼠标点击的时候),注意 若一起使用这四种伪类中的几种,定义时顺序不可改变(link,visited,hover,active),否则会引发未知错误;


第10章:用JavaScript实现动画效果

理论上Js可以用来做任何事情,当然包括动画。但针对于较为复杂的动画,本人强烈推荐使用Css3高级动画属性Animate,较为简单的直接使用css过渡属性transition,但还是必须得分情况讨论,像图片轮播之类有切换的效果,还是必须使用Js来做交互。

该章有知识点“定时器”,setTimeout与setInterval。我们须得知道,该定时器会在所有主程序执行完毕后在延迟执行,具体请参考W3Cschool相关文献。


第11章:HTML5

本章介绍的HTML5的许多特性,其实本人的理解,HTML5就是增加了一些新的标签,增加一些新的技术,增加了一些新的API。

介绍的相关内容:Canvas、video、audio、表单控件等...


第12章:综合示例

本章就是看代码,完整的一个网页,如何做出来,具有指导意义,所有技术,前11章都有阐述。



整体读后感:本书讲解的层次,适合入门级别。将web前端各种源生技术从本质上阐述,能在这么短的篇幅中将知识体系架构完善,非常不易。但是,本书对更深层次的东西,只是点到为止,需要读者探寻。比如:变量保存的是值还是引用、闭包的解释、原型与原型链、作用域与作用域链、ajax请求http协议,跨域问题等等没有做出解释。但是,对于初学者,本书深入浅出,绝对是一本好书,最后用一句话结束本书,“ Standing on Shouders of Giants”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值