JavaScript 正则表达式迷你书 老姚 - v1.12 导读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. 第一章 正则表达式字符匹配攻略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1. 两种模糊匹配 . . . . . 语言的正则表达式方方面面。 具体章节如下: • 第一章 正则表达式字符匹配攻略 • 第二章 正则表达式位置匹配攻略 • 第三章 正则表达式括号的作用 • 第四章 正则表达式回溯法原理 • 第五章 正则表达式的拆分 • 第六章 正则表达式的构建 • 第七章 正则表达式编程 下面简单地说说每一章都讨论了什么? 正则是匹配模式,要么匹配字符,要么匹配位置。 第一章和第二章以这个角度去讲解了正则表达式的基础。 虽然你可以直接阅读你想了解的任何一章,但我还是建议从头到尾地完整阅读。本书是迷你书,不厚的。 最好阅读两遍。第一遍,不求甚解地快速阅读一遍。阅读过程中遇到的问题不妨记录下来,也许阅读完毕后 就能解决很多。 然后有时间的话,再带着问题去精读第二遍。 深呼吸,开始我们的正则表达式旅程吧。 我在终点等你。 JavaScript 正则表达式迷你书 前言 | 第 5 页 1. 第一章 正则表达式字符匹配攻略0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.02 导读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. 第一章 正则表达式字符匹配攻略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1. 两种模糊匹配 . . . . . 语言的正则表达式方方面面。 具体章节如下: • 第一章 正则表达式字符匹配攻略 • 第二章 正则表达式位置匹配攻略 • 第三章 正则表达式括号的作用 • 第四章 正则表达式回溯法原理 • 第五章 正则表达式的拆分 • 第六章 正则表达式的构建 • 第七章 正则表达式编程 下面简单地说说每一章都讨论了什么? 正则是匹配模式,要么匹配字符,要么匹配位置。 第一章和第二章以这个角度去讲解了正则表达式的基础。 虽然你可以直接阅读你想了解的任何一章,但我还是建议从头到尾地完整阅读。本书是迷你书,不厚的。 最好阅读两遍。第一遍,不求甚解地快速阅读一遍。阅读过程中遇到的问题不妨记录下来,也许阅读完毕后 就能解决很多。 然后有时间的话,再带着问题去精读第二遍。 深呼吸,开始我们的正则表达式旅程吧。 我在终点等你。 JavaScript 正则表达式迷你书 前言 | 第 5 页 1. 第一章 正则表达式字符匹配攻略0 码力 | 89 页 | 3.42 MB | 11 月前3
阮一峰 《ECMAScript 6入门》 第三版third, fourth, fifth, sixth] = fibs(); sixth // 5 上面代码中, fibs 是一个 Generator 函数(参见《Generator 函数》一章),原 生具有 Iterator 接口。解构赋值会依次从这个接口获取值。 默认值 解构赋值允许指定默认值。 let [foo = true] = []; foo // true let [x 'world' }; let { first: f, last: l } = obj; f // 'hello' l // 'world' 这实际上说明,对象的解构赋值是下面形式的简写(参见《对象的扩展》一章)。 let { foo: foo, bar: bar } = { foo: "aaa", bar: "bbb" }; 也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变 上面代码对数组进行对象解构。数组 arr 的 0 键对应的值是 1 , [arr.length - 1] 就是 2 键,对应的值是 3 。方括号这种写法,属于“属性名表达式”,参见 《对象的扩展》一章。 字符串的解构赋值 字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。 const [a, b, c, d, e] = 'hello'; a // "h" b //0 码力 | 679 页 | 2.66 MB | 1 年前3
阮一峰 JavaScript 教程JavaScript 内部,数组本质上只是一种特殊的对象。这里顺便提一 下, instanceof 运算符可以区分数组和对象。 instanceof 运算符的详 细解释,请见《面向对象编程》一章。 1. var o = {}; 2. var a = []; 3. 4. o instanceof Array // false 5. a instanceof Array // true 4. // true 5. 6. if ({}) { 7. console.log('true'); 8. } 9. // true 更多关于数据类型转换的介绍,参见《数据类型转换》一章。 Axel Rauschmayer, Categorizing values in JavaScript 参考链接 null,undefined 和布尔值 - 64 - 本文档使用 书栈(BookStack 语言的底层根本没有整数,所有数字都是小 数(64位浮点数)。容易造成混淆的是,某些运算只有整数才能完成, 此时 JavaScript 会自动把64位浮点数,转成32位整数,然后再进 行运算,参见《运算符》一章的”位运算“部分。 由于浮点数不是精确的值,所以涉及小数的比较和运算要特别小心。 1. 0.1 + 0.2 === 0.3 2. // false 3. 4. 0.3 / 0.1 5.0 码力 | 540 页 | 3.32 MB | 10 月前3
JavaScript Promise迷你书(中文版)应用,promise chain可以算得上是其中的一个 原因吧。 在本小节,我们将主要针对使用 then 的promise chain的行为和流程进行学习。 promise chain 在第一章 promise chain 里我们看到了一个很简单的 then → catch 的例子,如果我们将 方法链的长度变得更长的话,那在每个promise对象中注册的onFulfilled和onRejected将 这些线的意思是在 Task A 或 Task B 的处理中,在下面的情况下就会调用 onRejected 方 法。 • 发生异常的时候 • 返回了一个Rejected状态的promise对象 在 第一章 中我们已经看到,Promise中的处理习惯上都会采用 try-catch 的风格,当发 生异常的时候,会被 catch 捕获并被由在此函数注册的回调函数进行错误处理。 另一种异常处理策略是通过 solve or reject状态之一。也就 是说Promise并不适用于 状态 可能会固定不变的处理。也有一些类 库提供了对promise进行取消的操作。 then or catch? 在 上一章 里,我们说过 .catch 也可以理解为 promise.then(undefined, onRejected) 。 在本书里我们还是会将 .catch 和 .then 分开使用来进行错误处理的。0 码力 | 112 页 | 1010.02 KB | 1 年前3
JavaScript Promiseの本 v1を書きやすい理由の一つといえるかもし れません。 このセクションでは、 then を使ったpromise chainの挙動と流れについて学んでいきま しょう。 promise chain 第一章の例だと、promise chainは then → catch というシンプルな例でしたが、この promise chainをもっとつなげた場合に、 それぞれのpromiseオブジェクトに登録された B の処理にて、次のような場合に onRejected が呼ばれるとい うことを示しています。 • 例外が発生した時 • Rejectedなpromiseオブジェクトがreturnされた時 第一章でPromiseの処理は常に try-catch されているようなものなので、 例外が起き た場合もキャッチして、 catch で登録された onRejected の処理を呼ぶことは学びました0 码力 | 115 页 | 1.06 MB | 1 年前3
JavaScript Promiseの本 v2を書きやすい理由の一つといえるかもし れません。 このセクションでは、 then を使ったpromise chainの挙動と流れについて学んでいきま しょう。 promise chain 第一章の例だと、promise chainは then → catch というシンプルな例でしたが、この promise chainをもっとつなげた場合に、 それぞれのpromiseオブジェクトに登録された B の処理にて、次のような場合に onRejected が呼ばれるとい うことを示しています。 • 例外が発生した時 • Rejectedなpromiseオブジェクトがreturnされた時 第一章でPromiseの処理は常に try-catch されているようなものなので、 例外が起き た場合もキャッチして、 catch で登録された onRejected の処理を呼ぶことは学びました0 码力 | 137 页 | 1.17 MB | 1 年前3
前端开发者指南(2017)Jabber JavaScript Kicks JavaScript Live JavaScript Weekly JavaScript.com 弃用的 JS 学习资源: Crockford - 第一章:历史那些事 [观看] Crockford - 第二章:JS的产生 [观看] Crockford - 第三章: 函数 [观看] Crockford - 第四章:Ajax的变化 [观看] Crockford0 码力 | 164 页 | 6.43 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版。数组在初始化后 长度不可变,因此也称“静态数据结构”。值得注意的是,数组可通过重新分配内存实现长度变化,从而具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 于数组实现的数据结构往往更受欢迎。 需要注意的是,高缓存效率并不意味着数组在所有情况下都优于链表。实际应用中选择哪种数据结构,应根 据具体需求来决定。例如,数组和链表都可以实现“栈”数据结构(下一章会详细介绍),但它们适用于不同 场景。 ‧ 在做算法题时,我们会倾向于选择基于数组实现的栈,因为它提供了更高的操作效率和随机访问的能 力,代价仅是需要预先为数组分配一定的内存空间。 ‧ 如果0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版。数组在初始化后 长度不可变,因此也称“静态数据结构”。值得注意的是,数组可通过重新分配内存实现长度变化,从而具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 于数组实现的数据结构往往更受欢迎。 需要注意的是,高缓存效率并不意味着数组在所有情况下都优于链表。实际应用中选择哪种数据结构,应根 据具体需求来决定。例如,数组和链表都可以实现“栈”数据结构(下一章会详细介绍),但它们适用于不同 场景。 ‧ 在做算法题时,我们会倾向于选择基于数组实现的栈,因为它提供了更高的操作效率和随机访问的能 力,代价仅是需要预先为数组分配一定的内存空间。 ‧ 如果0 码力 | 379 页 | 18.47 MB | 10 月前3
共 13 条
- 1
- 2













