这是我读的第一本关于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. 【66测试20161115】【树】【DP_LIS】【SPFA】【同余最短路】【递推】【矩阵快速幂】

    还有3天,今天考试又崩了.状态还没有调整过来... 第一题:小L的二叉树 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣.所以,小L当时卡在了二叉树. ...

  2. JavaScript 跨域小总结

    一. 什么是跨域 域名分为:一级域名.二级域名.三级域名.例如:baidu.com(一级域名) .www.baidu.com(二级域名)tieba.baidu.com(二级域名).bbs.youa.b ...

  3. AAS代码运行-第11章-1

    启动PySpark export IPYTHON= # PySpark也可使用IPython shell pyspark --master yarn --num-executors 发生如下错误: / ...

  4. 4、jvm内存回收——器

    内存回收---->垃圾回收---->GC GC 三基础,一个综合G1 串行:单线程,回收暂停其他 并行:多线程,回收暂停其他 并发:多线程,回收不暂停?! 成功好说,失败Serial Ol ...

  5. C#中IQueryable和IEnumberable的区别

    IQueryable和IEnumberable的区别主要在查询方面有区别 IQueryable查询时间是先把skip和Take翻译成sql语句,去数据库执行完成后把数据加载到内存中 IEnumbera ...

  6. 用jQuery Mobile做HTML5移动应用的三个优缺点

    JQuery Mobile 和 HTML5 的 3个优点 1. 上手迅速并支持快速迭代:在一个星期多一点的时间里,通过阅读JQuery Mobile文档以及O’Reilly出版的JQuery Mobi ...

  7. Ubuntu的多文件编译以及c语言的数组、函数

    闲言少叙,直接切入主题. 一.Linux下的多文件编译(Ubuntu系统). 对于小程序来说,往往一个.c文件就足够了,里面包含了各种主函数和功能函数,以及函数的声明等等.但是这样的弊端主要有两点,一 ...

  8. Mac上安装与更新Ruby,Rails运行环境

    Mac安装后就安装Xcode是个好主意,它将帮你安装好Unix环境需要的开发包,也可以独立安装command_line_tools_for_xcode 1.安装RVM RVM:Ruby Version ...

  9. Pegasos: Primal Estimated sub-GrAdient Solver for SVM

    Abstract We describe and analyze a simple and effective iterative algorithm for solving the optimiza ...

  10. pb自动注册ole控件

    方法一:  1.手工注册OCX控件 将该控件随程序一起发布,然后,将此文件拷到windows\system,或者直接放在本运行目录,然后执行dos命令,run( "regsvr32   *. ...