《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 ...
随机推荐
- MicroERP软件更新记录2.1
最新版本:2.1 更新内容:新增客户关系管理(CRM) 下载地址:http://60.2.39.130/microerp 因部分企业用户或个人(开发者)的实际应用水平或技术开发能力参差不齐,且软件开发 ...
- PHP初步(中)
一.文件载入 文件载入:将目标文件的代码载入到当前的位置上,有时候也叫流程控制. 文件载入的目的是实现网站的分层设计,因为不同的页面可能有很多相同的区域(相同的代码),这些相同的代码只需要写一次,有需 ...
- pdsh使用
原文地址:http://bbs.chinaunix.net/thread-2002080-1-1.html 当我们管理数以十计或者更多的集群系统时,往往需要在每台机器上执行同样的命令,或者拷贝同样的文 ...
- hdu, KMP algorithm, linear string search algorithm, a nice reference provided 分类: hdoj 2015-07-18 13:40 144人阅读 评论(0) 收藏
reference: Rabin-Karp and Knuth-Morris-Pratt Algorithms By TheLlama– TopCoder Member https://www.top ...
- app启动时间命令
app启动: 冷启动和热启动 冷启动方式: adb shell am start -W -n package/activity 停止app命令: adb shell am force-stop pac ...
- delphi里动态创建AlphaControls实现换肤
AlphaControls是一套Delphi下的优秀的皮肤vcl控件.几年前,一般用得比较多的是vclskin,使用很方便,可惜这套2010年已经停止维护了.后来就看到更多的人开始推崇AlphaCon ...
- LeetCode 20 -- Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- time元素和datetime、pubtime属性
time:对一个时间进行标识 <time datetime="2012-12-24">2012-12-24</time> datetime:时间的值 pub ...
- C++利用IO流对浮点数进行格式化控制输出
浮点数输出 (100/100 分数) 题目描述 编写一个程序,输入一个浮点数和输出格式要求,按照格式要求将该浮点数输出.给定非负整数m和n,表示输出的浮点数小数点前的宽度为m,若宽度不够则在前面补0, ...
- jsp内置对象浅谈
jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...