《JavaScript DOM编程艺术》读后总结
这是我读的第一本关于JS的书,刚开始我为了选择合适的学习JS的书,看了网上许多人的意见,基本上都是推荐先读这本书。书的内容挺简单的,确实很适合初学者看,阅读的过程中不会产生什么障碍。内容虽然简单,但我觉得还是挺有收获的,之前我主要是通过看视频学习JS的,看了好些视频,了解了好些概念,但对好多概念都是似懂非懂的,认识的不是很真切。通过阅读这本书,使我对前面了解的那些概念有了更清楚的认识,同时,书中还反复强调了几个重要的思想,我觉得这也是很有价值的,很具有指导意义。
书中的第一章是介绍JS的简史的,在这里我看到了一个关于DOM的描述,DOM是一种API(应用编程接口),API就是一组已经得到有关各方共同认可的基本约定,相当于现实世界的莫尔斯码和元素周期表等。通过这个描述,加深了我对DOM和API两个概念的认识,这两个概念我之前都见过,特别是DOM,但是都感觉描述不清楚这到底是什么东西。现在想来,其实DOM和API就是用来认识和描述特定对象的一种方法或者说模型。
第二章讲的是JS的语法,相当于复习了一遍视频的内容,不过也由之前没见过的新东西,关于数组的内容说到关联数组的概念,我知道了数组的下标可以不是数字,可以是字符串,使用关联数组可以提高脚本的可读性。还有就是关于对象这个概念,书中提到对象是一种非常重要的数据类型,它是自我包含的数据集合,包含在对象里的数据可以通过两种形式访问:属性和方法。又对属性和方法进行了说明,属性是隶属于某个特定对象的变量,方法是只有某个特定对象才能调用的函数。通过这些描述,我大概理解了对象、属性和方法这三个概念。
第三章介绍了节点的概念和四种DOM方法,我了解到JS中对象可以分为三种类型:用户定义对象、内建对象和宿主对象。关于JS中3中重要的节点,元素节点、属性节点和文本节点的内容使我基本弄清楚了这三种节点的关系,元素节点可能包含属性节点和文本节点,属性节点和文本节点是最小的节点,不可能有子节点了。
第四章以一个案例为基础进行了讲解,介绍了一个简单的带有JS动态效果的网页制作的过程,使用了childNodes,firstChild,lastChild属性,并通过nodeValue属性改变了文本内容,使我对这些属性的应用有了个初步的印象,之前只知道概念,对于使用没什么实感。另外我还认识了一个操作符,“?”三元操作符,之前见过很多次,知道该怎么用,但都不知道是什么名字。
第五章的内容比较重要,提出了三种重要的思想:预留退路;分离JavaScript;向后兼容性。预留退路这个概念是第一次见到,之前没见过,所谓的预留退路是指确保网页在没有JavaScript的情况下也能正常工作,我觉得这是很棒的思想,和分离JavaScript的思想比较像。对象检测这个概念我之前也知道,但少见用到,书中很强调检测的重要性,我也认为这个比较重要,但对于在何种情况下检测到什么地步没什么概念,书中也没说很清楚。还了解了一个概念:伪协议“javascript:”。
第六章是对实例讲解的继续,里面有作者自己编写的函数,用于添加需要window.onload的函数,我觉得现在对我来说没什么必要,也许以后遇到大型项目的时候会有用。介绍了DOM Core 和HTML-DOM的概念,特别是后者,我之前有见到过,但不知道这是属于什么用法,现在知道了,比如:前者的element.getAttribute("href")等于后者的element.href。
第七章说document.write()方法和innerHTML属性是老方法了,都有各自的问题,建议不要使用,之前我见过这两种用法,我以为是标准的用法,现在才知道其实是老旧的方法。通过跟着案例练习,我对createElement()、appendChild()、createTextNode()、insertBefore()方法的使用有了更多的认识,之前只是仅仅知道概念而已。
第八章提到了JS的一种用途,用于弥补不同浏览器的对一些标签的默认呈现样式不同所造成的不同体验。
第九章提到一个思想,之前见过这种方法,当时没觉得有多好,只觉得这种想法很独特,现在想想,其实这种方法是很不错的,通过JS去刷新某个元素的class属性,间接改变该元素的样式信息。
第十章是利用JS制作动画效果,视频上用的是setInterval,没有用setTimeout,了解了一下使用setTimeout的例子。
第十一章是制作乐队网页的例子,关于创建CSS文件,把颜色、布局、字体分开创建的思路挺好的,之前看的视频都是把样式写在一个文件夹,分开写虽然做的时候会麻烦一些,但以后维护的时候应该会带来不少便利。
第十二章是关于未来的展望的,现在看来,作者当时的预测还是比较正确的。
这本书只是开了个头,以后学习JS的路还十分长,书中的知识相对来说会比视频来说会全一些,看书的同时动手练习也是很重要的,好些看着挺容易的东西,实际操作的时候才发觉没有想象的那么容易。
2016-04-28 23:08:01
《JavaScript DOM编程艺术》读后总结的更多相关文章
- 我的第一本docker书-阅读笔记
花了三四天看完了我的第一本docker书,话说书写的还是挺简单易懂的.与传统的VM,VirtualBox,或者与那种内核虚拟的xen,kvm相比,docker作为一种容器的虚拟方式,以启动进程的方式来 ...
- 《第一本docker书》—— 读后总结
关于docker 这本书其实并没有读完,只不过最近工作比较繁忙,也无心再看这些用不到的书.以后要是工作需要,再仔细学习吧. 这次的阅读算是达到目的了,对docker有了一定的了解.它的作用.意义以及大 ...
- 第一本Docker书读书笔记
日常使用命令 1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: ...
- 《第一本Docker书》
Docker简介 Docker依赖写时复制(copy-on-write),使修改应用程序非常迅速. Docker推荐单个容器只运行一个应用或进程,鼓励面向服务的架构和微服务架构. Docker的核心组 ...
- 第一本docker书 学习笔记(二)
#安装docker的先决条件 运行64位CPU构架的计算机(docker目前不支持32位的cpu) 运行LUFSinux3.8或者更高版本内核 内核必须支持一种合适的存储驱动,例如: device M ...
- 《第一本Docker书》学习笔记——第3章 Docker入门
3.1 确保Docker已经就绪 查看docker是否正常工作: sudo docker info 3.2 运行我们的第一个容器 现在,让我们尝试启动第一个Docker容器.我们可以使用docker ...
- 《第一本docker书》- 第一章笔记
环境: Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic i686) 第一章: 1 Docker客户端和服务器 2 Docker镜像 添加一个文件,执行一 ...
- 《第一本docker书》第4章 使用docker镜像和仓库 读书笔记
docker最底端是一个引导文件系统,即bootfs. 第二层是root文件系统rootfs,位于引导文件系统之上. 在传统的Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并 ...
- 第一本docker书,,持续更新中
1.查看应用是否在docker中部署成功 需要确认curl已安装 whereis curl sudo apt-get -y install curl curl localhost:8081 如果成 ...
- 第一本docker书 学习笔记(一)
Docker的核心组件: Docker客户端和服务端 Docker镜像 Registry Docker容器 # Docker客户端和服务端 docker 是一个 C/S架构程序.客户端只需要向dock ...
随机推荐
- 简易线程池Thread Pool
1. 基本思路 写了个简易的线程池,基本的思路是: 有1个调度线程,负责维护WorkItem队列.管理线程(是否要增加工作线程).调度(把工作项赋给工作线程)等 线程数量随WorkItem的量动态调整 ...
- Web服务及http协议
HTTP:HyperText Transfer Protocol--超文本传输协议 超链接:能够在文档之间跳转的文本 早起的Web:仅仅是能够实现在文档之间跳转的一种协议 http/0.9:仅支持纯文 ...
- SpringMVC与MyBatis整合之日期格式转换
在上一篇博客<SpringMVC与MyBatis整合(一)——查询人员列表>中遗留了日期格式转换的问题,在这篇记录解决过程. 对于controller形参中pojo对象,如果属性中有日期类 ...
- C#按行读取文本并存放再数组内
我只想说真的是日了狗的麻烦,代码就那么几行,但是根本看不懂在搞些什么东西,我现在还是一点都不知道getline函数到底是怎么用的,但是事实就是他确实能用. 期间在那该死的第一个char根本不知道为什么 ...
- 从新 开始学习java
今天备受打击了,群里 发一个段 招租的代码.挺火的,一时没想出来.就亲测了一遍.做了两遍才看出来原因,对此感觉基础不扎实,从新学习,当做复习. 群里传的代码 亲测,代码. 了解缘由. package ...
- Linux中的历史命令
Linux中的历史命令一般保存在用户 /root/.bash_history history 选项 历史命令保存文件夹 选项 -c:清空历史命令 -w :把缓存中的历史命令写入历 ...
- DotNetBar for Windows Forms 11.8.0.8冰河之刃重打包版
关于 DotNetBar for Windows Forms 11.8.0.8_冰河之刃重打包版 基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DL ...
- AngularJs的UI组件ui-Bootstrap分享(九)——Alert
alert指令会在页面上显示一条提示消息,效果是这样: 代码为: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" ...
- 例子:Database - Linq to sql
DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库. DataCon ...
- Go语言http包Form解析之坑
最近正在用Go语言做一个项目,今天在用http包读取客户端发过来的POST数据时遇到了一点小麻烦,就下面这段代码,死活读不到数据: { var body []byte nRead, err := r. ...