日期:2014-05-16  浏览次数:20329 次

《JavaScript语言精粹》
1、JavaScript的简单类型包括数字、字符串、布尔值、null值和undefined值。其他所有的值都是对象。
2、原型连接只有在检索值的时候才被用到。如果我们尝试去获取某个对象的某个属性值,且该对象没有此属性名,那么JavaScript会试着从原型对象中获取属性值。如果那个原型对象也没有该属性,那么再从它的原型中寻找,依此类推,直到该过程最后到达终点object.prototype。如果想要的属性完全不存在于原型链中,那么结果就是undefined值。这个过程称为委托。
3、使用hasOwnProperty方法,如果对象拥有独有的属性,它将返回true。hasOwnProperty方法不会检查原型链。
4、一般来说,所谓编程就是将一组需求分解成一组函数与数据结构的技能。
5、当一个函数被保存为对象的一个属性时,我们称它为一个方法。[方法调用模式]
   当一个函数并非一个对象的属性时,那么它被当做一个函数来调用。[函数调用模式]
   结合new前缀调用的函数被称为构造器函数。[构造器调用模式]
   apply方法让我们构建一个参数数组并用其去调用函数。apply方法接收两个参数,第一个是将被绑定给this的值,第二个就是参数数组。[Apply调用模式]
6、一个try语句只会有一个将捕获所有异常的catch代码块。
7、函数可以访问它被创建时所处的上下文环境,这被称为闭包。
8、JavaScript允许数组包含任意混合类型的值。
9、JavaScript的许多特性都借鉴自其他语言。语法借鉴自Java,函数借鉴自Scheme,原型继承借鉴自Self,而JavaScript的正则表达式则借鉴自Perl。
10、JavaScript中处理正则表达式的方法有regexp.exec、regexp.test、string.match、string.replace、string.search和string.split。
11、^表示字符串的开始,$表示字符串的结束。(?:...)表示一个非捕获型分组,后缀?表示这个分组是可选的,对:后的内容进行匹配。正则表达式因子:\ / [ ] ( ) ? + * | . ^ $
12、正则表达式量词。?等同于{0,1}。*等同于{0,}。+等同于{1,}。
13、Array对象常用方法:concat、join、pop、push、reverse、shift、slice、sort、splice和unshift。
14、JavaScript没有块级作用域,提倡在每个函数的开头部分声明所有变量。
15、JavaScript有一个机制,它试图通过自动插入分号来修正有缺损的程序。
16、不要使用==运算符、with语句、eval函数、类型的包装对象(如new Object可用{}代替)、void。