`
wfsheep
  • 浏览: 17209 次
文章分类
社区版块
存档分类
最新评论

《javascript语言精粹》读书笔记四

阅读更多

第七章 正则表达式

正则表达式是处理字符串的最强道具,没有之一。
通过正则表达式,我们可以非常简便的对字符串进行各种操作,这里就对此就不对这章进行总结,之后对正则表达式进行一次专门的总结。

第八章 方法

‘+’运算符在较新的浏览器中,进行过较多的优化,会对该运算符进行优化,比array.join函数运行速度要快的多。

array

Array.concat和Array.slice函数可以生成新的数组。

Array.shift函数通常比pop速度要快。

在使用Array.sort回调函数中,默认会将数组元素当做字符串进行比较。同样,该方法是不稳定的(其方法稳定性根据不同的浏览器实现不同),使用sort().sort(),这样的链式操作,是无法获得稳定的排序,所以,应该避免使用sort函数的链式操作。

Array.unshift方法将返回新数组的长度,而ie6浏览器对unshift函数的实现有错误,总是返回undefined。

number

number.toFixed方法和number.toPrecision方法的差别在于,toFixed方法支持的参数值在0~20,而toPrecision函数支持的参数范围为0~21。

number.toString函数的参数代表进制,默认为10,可以给他设定为任意数字,当然通常设定为整数,通过这个方法可以很简单的生成随机数,比如Math.random().toString(36).substr(3),即可生成一个随机数。

regexp

regExp.exec方法虽然强大,但是也是最慢的函数,他会使用前向匹配的技术,不断的重新扫描已扫描过的字符串,当有g这个修饰符的时候,其性能会进一步降低。

regexp.text方法虽然简单,但是是最快的函数,不要对他使用g标识,因为没有用。

string

string.match方法会对一个正则表达式进行匹配,如果表达式没有待用g标识,那么他的效果和regexp.test相同,如果他带有g标识,那么它生成一个包含所有匹配(非捕获分组之外)的数组。

如果string.replace方法在当第二参数是字符串,那么字符$有特别的含义,具体如下:

美元符号序列 替换对象
$$ $字符的转义
$& 整个匹配的文本
$number 分组捕获的文本
$` 匹配之前的文本
$’ 匹配之后的文本

而当第二个参数为函数时,其参数为 ($&, $1……$9)的排列。

string.split方法有第二个参数,用于限制返回数组的大小。当第一参数为正则表达式时,将会把来自分组捕获的文本包含到分割后的数组中。同时,ie8之前的浏览器会在输出数组中排除空字符串

string.toLocalLowerCase,主要用在土耳其语上,因为在土耳其语中‘I’转义为‘l’而不是i。

第九章 代码风格

优秀的程序拥有前瞻性的结构,它会预见未来可能需要的修改,而又不会让其成为过度的负担。

注意把{放在一行的结尾而不是下一样的开头,因为它会避免js的return语句中一个可怕的设计错误。

努力保持注释是最新的,错误的注释甚至比没有注释更加糟糕。

当程序不能自我说明的时候,需要编写注释,注释必须时有意义的,显而易见的代码无需注释。

代码中应该更多的使用行注释,块注释往往用于正式的文档记录和注释。

对于脚本应用和工具库,我只使用唯一一个全局变量。每个对象都有自己的命名空间,以方便管理代码。

更多编码风格可以参见第五部分

最后本读书笔记将于第五部分结束,第五部分将总结被本书作者认为是优美的特性,以及毒瘤和糟粕,同时给出个人总结的javascript代码编写规范ppt。

更多内容请查看zakwu的小站

分享到:
评论

相关推荐

    JavaScript 精粹读书笔记(1,2)

    在《JavaScript 精粹》一书中,作者深入探讨了JavaScript的特性和最佳实践,旨在帮助开发者区分和利用其精华部分,同时避免那些可能会引起问题的鸡肋特性。 首先,JavaScript的某些特性带来了麻烦,因为其规范的不...

    JavaScript 语言精粹学习笔记第1/2页

    JavaScript是一种广泛使用的高级、解释型编程语言,它以其函数式编程的特性、弱类型系统、动态对象和富有表现力的对象字面量而闻名。然而,它同样存在着基于全局变量的编程模型这一缺点。JavaScript的函数基于词法...

    ASP数据库开发实例精粹

    《ASP数据库开发实例精粹》是一本专注于使用ASP(Active Server Pages)进行数据库开发的实践指南。这本书的主要目的是通过丰富的实例来帮助读者深入理解和掌握如何利用ASP与各种数据库进行交互,实现动态网站功能。...

    javascript 精粹笔记

    标题为“javascript 精粹笔记”的这份文档显然是一份针对JavaScript语言的学习和应用技巧的集合。JavaScript是一种广泛应用于Web前端开发的脚本语言,随着互联网技术的发展,JavaScript的应用越来越广泛,不仅限于...

    angularJS笔记

    javascript:闭包 作用域 原型 Javascript权威指南 Javascript高级程序员设计 Javascript语言精粹 Javascript模式

    前端开发书籍推荐与学习路线.docx

    * 推荐书籍:JavaScript 高级程序设计、JavaScript 权威指南、JavaScript 语言精粹 * 学习方法:边实战边记笔记,不要光看,要有方法的快速阅读 三、JavaScript 进阶 * 推荐书籍:《你不知道的 JavaScript》 * ...

    计算机书籍读书笔记.docx

    ### 计算机书籍读书笔记知识点汇总 #### 第一篇:CSS精粹之布局技巧 **1. 错误检测的重要性** - 在遇到CSS布局问题时,及时进行代码检查可以帮助开发者快速定位并解决问题。 - **W3C提供的工具**:W3C提供XHTML...

    《COM原理与应用》全书笔记

    ### COM原理与应用全书笔记精粹 #### 一、COM基本概念与接口设计 COM(Component Object Model)是微软提出的一种组件对象模型,旨在实现跨语言、跨平台的组件互操作性。在C++中,COM通过接口(Interface)来实现...

Global site tag (gtag.js) - Google Analytics