本书是一本经典,优秀的JS书籍. 目的 在书籍中作者多次提及本书的目的,让读者去发现语言中的精华部分,避免糟粕部分,提高代码的编写质量.简述为取其精华去其糟粕. 本书的内容只涉及到Core JS部分,对Client JS与Server JS没有提及,而且是基于ES5标准,所以ES6的新特性需要阅读其他书籍,个人推荐<Exploring ES6>. 同类型书籍 同类型书籍很多,最经典的有<JS权威指南第五版>,MDN web docs官网,它的地址是https://developer…
第九章节 本章节不再介绍知识点,而是作者在提倡大家培养良好的编码习惯,使用Good parts of JS,避免Bad parts of JS.它是一篇文章. 本文的1-3段阐述应用在开发过程中总会遇到需求更新,BUG的修改,代码的维护等.而在这些过程中保持代码没有任何错误是一个非常挑战性的工作,所以在日常开发时必须严格要求自己,编写阅读性较高,可维护较高的代码,使用”strict”模式编写JS代码. 本文的4-8段阐述style在开发过程中的作用性,优秀的编码风格会导致代码更容易阅读,也更容易…
本章是引言,有四个小节,具体内容如下: 第一小节 第一小节介绍作者的观点,作者编写本书的目的. 原文:I discovered that I could be a better programmer by using only the good part And avoiding the bad part.(简述为取其精华去其糟粕) 原文:My Intention here is to expose the goodness in javascript, an outstanding,Dynam…
本章介绍Function对象,它是JS语言最复杂的内容. Java语言中没有Function对象,而是普通的方法,它的概念也比较简单,包含方法的重载,重写,方法签名,形参,实参等. JS语言中的Function对象,它扮演了很多的角色,而且这些角色并不是互斥的. 当Function角色为普通方法时,它包括参数,上下文,返回值,异常处理等内容.是Function的基础. 当Function角色为构造器时,需要深入理解原型链的概念,这是实现继承的基石. 当Function角色为命名空间时,需要深入理…
本章题目是继承,实质上介绍JS如何实现面向对象的三大特性,封装,继承,多态.本章的最后一个小节介绍事件. 与Java语言对比,虽然名称同样称为类,对象,但是显然它们的含义存在一些细微的差异,而且实现三大特性的方式存在很大差异.所以用Java的概念去理解JS中的面向对象反而会很困惑. 从实际效果看,JS同样可以实现复杂的类结构,例如easyui中存在工具类(parser,loader),接口(resizable,draggable,droppable),继承(validatebox,textbox…
本章介绍正则表达式的内容.正则表达式是一门独立的语言,它拥有自己的语法规则,在学习本章之前需要了解基本的语法规则. 正则表达式是通用的,意味着同样的语法规则可以适用于不同的编程语言,相同的正则表达式在Java,JS编程语言中功能是相同的. 正则表达式是复杂的,复杂性并不来源于它的语法,而是来源于看待字符串的方式.它将字符串分为若干部分,每个部分都匹配对应的规则.若可以将整个正则表达式拆分为若干部分,并逐个的进行分析,那么正则理解起来会非常简单.所以个人建议在初期时将每个部分用括号包裹起来,之后再…
本章介绍对象. 在学习Java时,对象理解为公共事物的抽象,实例为具体的个例,对象为抽象的概念,例如人为抽象的概念,具体的个例为张三,李四. Java对象种类多,包含普通类,JavaBean,注解,枚举,接口,抽象类.每种类的特点也不同.对象之间的关系很多,泛化,实现,依赖,关联,组合,聚合.可以创建很复杂的类结构,例如IO框架,集合框架.每个对象都有强,弱,虚引用的概念,生命周期的概念.还需要考虑多线程下对象属性的安全性,总之很复杂. 而JS的对象,虽然概念相同,但它理解起来非常简单,是属性的…
本章介绍数组的内容,Java中的数组在创建时,会分配同等大小的内存空间,一旦创建数组的大小无法改变,如果数据超过数组大小,会进行扩容操作.并且数组的元素类型在创建时必须是已知的,而且只能存放相同数据类型的元素. JS的数组,它与硬件的概念不沾边,在创建时等同于创建了一个对象,只不过对象的属性必须是数字,而且由编译器自动管理.数组的大小概念是对象拥有多少个属性,数组的元素可以是任何值,没有数据类型的约束. 与Java数组对比,JS的数组更偏向于对象的概念,与数组的数据结构也没有任何关系,不具有快速…
本章介绍JS核心对象的方法.这些对象包括Array,Function,Number,Object,RegExp,String.除这些常用的核心对象还有Date,JSON. 本章更偏向于API文档,介绍如何使用这些对象,每个对象都有哪些方法,以及这些方法的示例.所以本文不再重复这些内容,而是直接给出API的链接. Array:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array…
1.JSLint 本书的JSLint部分只是一个引言,详细了解该工具的使用参考http://www.jslint.com/ 2.铁路图 在本书中使用过的铁路图集中放在这部分附录中,其实读完本书之后,没有必要单独查看该附录,在之前的铁路中都配有文本描述,更容易理解.画铁路图的在线工具地址https://www.bottlecaps.de/rr/ui 3.JSON 本书的JSON部分只是一个引言,在第三部分中介绍JSON解析器的源码,可以尝试编写一下,其他的参考JSON官网https://www.j…