这是我读的第一本关于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编程艺术》读后总结的更多相关文章

  1. 我的第一本docker书-阅读笔记

    花了三四天看完了我的第一本docker书,话说书写的还是挺简单易懂的.与传统的VM,VirtualBox,或者与那种内核虚拟的xen,kvm相比,docker作为一种容器的虚拟方式,以启动进程的方式来 ...

  2. 《第一本docker书》—— 读后总结

    关于docker 这本书其实并没有读完,只不过最近工作比较繁忙,也无心再看这些用不到的书.以后要是工作需要,再仔细学习吧. 这次的阅读算是达到目的了,对docker有了一定的了解.它的作用.意义以及大 ...

  3. 第一本Docker书读书笔记

    日常使用命令 1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: ...

  4. 《第一本Docker书》

    Docker简介 Docker依赖写时复制(copy-on-write),使修改应用程序非常迅速. Docker推荐单个容器只运行一个应用或进程,鼓励面向服务的架构和微服务架构. Docker的核心组 ...

  5. 第一本docker书 学习笔记(二)

    #安装docker的先决条件 运行64位CPU构架的计算机(docker目前不支持32位的cpu) 运行LUFSinux3.8或者更高版本内核 内核必须支持一种合适的存储驱动,例如: device M ...

  6. 《第一本Docker书》学习笔记——第3章 Docker入门

    3.1 确保Docker已经就绪 查看docker是否正常工作: sudo docker info 3.2 运行我们的第一个容器 现在,让我们尝试启动第一个Docker容器.我们可以使用docker ...

  7. 《第一本docker书》- 第一章笔记

    环境: Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic i686) 第一章: 1 Docker客户端和服务器 2 Docker镜像 添加一个文件,执行一 ...

  8. 《第一本docker书》第4章 使用docker镜像和仓库 读书笔记

    docker最底端是一个引导文件系统,即bootfs. 第二层是root文件系统rootfs,位于引导文件系统之上. 在传统的Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并 ...

  9. 第一本docker书,,持续更新中

    1.查看应用是否在docker中部署成功 需要确认curl已安装 whereis curl sudo apt-get -y install curl curl localhost:8081   如果成 ...

  10. 第一本docker书 学习笔记(一)

    Docker的核心组件: Docker客户端和服务端 Docker镜像 Registry Docker容器 # Docker客户端和服务端 docker 是一个 C/S架构程序.客户端只需要向dock ...

随机推荐

  1. jquery qrcode参数

    { // render method: 'canvas', 'image' or 'div' render: 'canvas', // version range somewhere in 1 .. ...

  2. 使用Python scipy linprog 线性规划求最大值或最小值(使用Python学习数学建模笔记)

    函数格式 scipy.optimize.linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simp ...

  3. 启动Tomcat一闪而过——分析及解决过程

    启动Tomcat一闪而过--分析及解决过程 嗯,昨天将有关JDK的知识稍微整理了一下,现在稍微整理一下有关Tomcat的! 1:Tomcat是什么? Tomcat是当今世界上使用最为广泛的.开源免费的 ...

  4. AngularJs项目实践总结

    今年3月接触AngularJs,并且在6月的项目中开始应用,从踩坑到填坑花了不少时间,根据项目中的实际应用情况总结了一些经验,如下: 一.UI控件选择 Angularjs是不缺控件的,Github里现 ...

  5. 例子:Camera Color Picker Sample (YCbCr->ARGB)

    本例演示了如何从相机preview缓冲区获取YCbCr模块,并且转化为ARGB. 1. 什么是YCbCr y:像素的亮度.以范围从 0 到 255 的字节值形式返回(亮度值始终为正值). cr:像素的 ...

  6. Dynamic Programming

    We began our study of algorithmic techniques with greedy algorithms, which in some sense form the mo ...

  7. GoldenGate Studio 12.2.1.1发布

    OGG studio是一款图形化OGG配置部署产品,其主要特性:1. 逻辑层面设计OGG,不需要了解OGG细节:2. 最值实践加快常用场景的配置:3. 使用拖拉映射,自动匹配源和目标对象:4. 一键部 ...

  8. C++的STL

    今天,看一段代码的时候发现只一句话就做了个排序,是这样的: sort(rotateArray.begin(),rotateArray.end()); 很震惊,后来查了一下sort的用法, sort函数 ...

  9. matlab初学之textread

    文章出处:http://blog.sina.com.cn/s/blog_9e67285801010bju.html 基本语法是: [A,B,C,-] = textread(filename,forma ...

  10. 控制台手动编译Qt5程序

    转自:http://www.cnblogs.com/csulennon/p/4479236.html 在上一篇随笔中已经搭建好了Qt5的的开发环境,并且通过Qt Creator自动构建了一个视窗程序. ...