 阮一峰 JavaScript 教程CN) 构建 致谢 当前文档 《阮一峰 JavaScript 教程》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行构建,生成于 2018-02-26。 书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以 及对文档内容的生成和导出工具。 文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认 文档内容知识点是否错漏。如果您在阅读文档获取知识的时候,发现文 确、高效且有效地传递给每一个人。 同时,如果您在日常生活、工作和学习中遇到有价值有营养的知识 文档,欢迎分享到 书栈(BookStack.CN) ,为知识的传承献上您的 一份力量! 如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取 最新的文档,以跟上知识更新换代的步伐。 文档地 址:http://www.bookstack.cn/books/javascript- 的 历史是 Java 语言的浏览器插件失败了,JavaScript 反而发扬光 大。 1995年12月4日,Netscape 公司与 Sun 公司联合发布了 JavaScript 语言,对外宣传 JavaScript 是 Java 的补充,属 历史 - 20 - 本文档使用 书栈(BookStack.CN) 构建 于轻量级的 Java,专门用来操作网页。 1996年3月,Navigator0 码力 | 540 页 | 3.32 MB | 10 月前3 阮一峰 JavaScript 教程CN) 构建 致谢 当前文档 《阮一峰 JavaScript 教程》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行构建,生成于 2018-02-26。 书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以 及对文档内容的生成和导出工具。 文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认 文档内容知识点是否错漏。如果您在阅读文档获取知识的时候,发现文 确、高效且有效地传递给每一个人。 同时,如果您在日常生活、工作和学习中遇到有价值有营养的知识 文档,欢迎分享到 书栈(BookStack.CN) ,为知识的传承献上您的 一份力量! 如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取 最新的文档,以跟上知识更新换代的步伐。 文档地 址:http://www.bookstack.cn/books/javascript- 的 历史是 Java 语言的浏览器插件失败了,JavaScript 反而发扬光 大。 1995年12月4日,Netscape 公司与 Sun 公司联合发布了 JavaScript 语言,对外宣传 JavaScript 是 Java 的补充,属 历史 - 20 - 本文档使用 书栈(BookStack.CN) 构建 于轻量级的 Java,专门用来操作网页。 1996年3月,Navigator0 码力 | 540 页 | 3.32 MB | 10 月前3
 2019-2021 美团技术年货 前端篇前端 | 2021 1 让 Flutter 在鸿蒙系统上跑起来 1 FlutterWeb 在美团外卖的实践 14 FlutterWeb 性能优化探索与实践 36 设计稿(UI 视图)自动生成代码方案的探索 56 美团外卖终端容器无关化研发框架 74 一款可以让大型 iOS 工程编译速度提升 50% 的工具 96 从预编译的角度理解 Swift 与 Objective-C 及混编机制 然我们没有从公开文档找到类似的说明,但是 鸿蒙标准库 默认支持了 OpenGL ES, 而且鸿蒙 SDK 中也附带了 EGL 相关的库及头文件,我们有理由相信在鸿蒙系统上, EGLSurface 也可以通过此方法从前一步生成的 NativeLayer 转化而来,在之后的 验证中我们也确认了这一点: // window->handle() 即为之前得到的 NativeLayer EGLSurface surface = 的转换,以及 UI 层的对齐,在工程化和性能优化方面做的工作并不多。 因此,我们必须解决以上的性能问题,才能保证我们的业务可以正常的交付。通过对 编译流程的仔细分析与梳理,我们在 AOT 产物生成之前对 Flutter SDK 进行定制, 分别进行加载性能优化和内存性能优化,下面分别介绍这两部分的内容。 Flutter SDK 进行定制后的流程 4.2.2 加载性能优化 运行 flutter0 码力 | 738 页 | 50.29 MB | 1 年前3 2019-2021 美团技术年货 前端篇前端 | 2021 1 让 Flutter 在鸿蒙系统上跑起来 1 FlutterWeb 在美团外卖的实践 14 FlutterWeb 性能优化探索与实践 36 设计稿(UI 视图)自动生成代码方案的探索 56 美团外卖终端容器无关化研发框架 74 一款可以让大型 iOS 工程编译速度提升 50% 的工具 96 从预编译的角度理解 Swift 与 Objective-C 及混编机制 然我们没有从公开文档找到类似的说明,但是 鸿蒙标准库 默认支持了 OpenGL ES, 而且鸿蒙 SDK 中也附带了 EGL 相关的库及头文件,我们有理由相信在鸿蒙系统上, EGLSurface 也可以通过此方法从前一步生成的 NativeLayer 转化而来,在之后的 验证中我们也确认了这一点: // window->handle() 即为之前得到的 NativeLayer EGLSurface surface = 的转换,以及 UI 层的对齐,在工程化和性能优化方面做的工作并不多。 因此,我们必须解决以上的性能问题,才能保证我们的业务可以正常的交付。通过对 编译流程的仔细分析与梳理,我们在 AOT 产物生成之前对 Flutter SDK 进行定制, 分别进行加载性能优化和内存性能优化,下面分别介绍这两部分的内容。 Flutter SDK 进行定制后的流程 4.2.2 加载性能优化 运行 flutter0 码力 | 738 页 | 50.29 MB | 1 年前3
 阮一峰 《ECMAScript 6入门》 第三版js # 整个目录转码 # --out-dir 或 -d 参数指定输出目录 $ babel src --out-dir lib # 或者 $ babel src -d lib # -s 参数生成source map文件 $ babel src -d lib -s 上面代码是在全局环境下,进行 Babel 转码。这意味着,如果项目要运行,全局环 境必须有 Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支 catch(fun ction(ex) { console.error('Import failed', ex.stack || ex); }); 上面代码中,首先生成Traceur的全局对象 window.System ,然 后 System.import 方法可以用来加载 ES6。加载的时候,需要传入一个配置对 象 metadata ,该对象的 traceurOptions 为了防止有些特性编译不成功,最好加上 --experimental 选项。 $ traceur --script calc.es6.js --out calc.es5.js --experimental 命令行下转换生成的文件,就可以直接放到浏览器中运行。 Node 环境的用法 Traceur 的 Node 用法如下(假定已安装 traceur 模块)。 ECMAScript 6简介 23 var traceur0 码力 | 679 页 | 2.66 MB | 1 年前3 阮一峰 《ECMAScript 6入门》 第三版js # 整个目录转码 # --out-dir 或 -d 参数指定输出目录 $ babel src --out-dir lib # 或者 $ babel src -d lib # -s 参数生成source map文件 $ babel src -d lib -s 上面代码是在全局环境下,进行 Babel 转码。这意味着,如果项目要运行,全局环 境必须有 Babel,也就是说项目产生了对环境的依赖。另一方面,这样做也无法支 catch(fun ction(ex) { console.error('Import failed', ex.stack || ex); }); 上面代码中,首先生成Traceur的全局对象 window.System ,然 后 System.import 方法可以用来加载 ES6。加载的时候,需要传入一个配置对 象 metadata ,该对象的 traceurOptions 为了防止有些特性编译不成功,最好加上 --experimental 选项。 $ traceur --script calc.es6.js --out calc.es5.js --experimental 命令行下转换生成的文件,就可以直接放到浏览器中运行。 Node 环境的用法 Traceur 的 Node 用法如下(假定已安装 traceur 模块)。 ECMAScript 6简介 23 var traceur0 码力 | 679 页 | 2.66 MB | 1 年前3
 前端开发者指南(2017)1.7.1 1.7.2 1.7.3 1.7.4 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 DOM、BOM 和 jQuery 学习网页字体 & 图标 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 (在将来也叫作”Angular”)跌下神坛,多数人意识到它将不再如 Angular 1 那 般辉煌了。 JavaScript 大体上保持软件技术的中流砥柱位置。 更多的开发者开始把工具化(比如自动化)和测试当回事了。 静态站点生成器被重视起来。 CSS 网格布局(CSS Grid)势头正旺且前途无量。 NPM 受到来自 Yarn 的挑战。 下一代类 React 方案的演化通过 Preact、Deku、Rax 和 inferno0 码力 | 164 页 | 6.43 MB | 1 年前3 前端开发者指南(2017)1.7.1 1.7.2 1.7.3 1.7.4 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 DOM、BOM 和 jQuery 学习网页字体 & 图标 学习可访问性相关知识 学习 web/浏览器 API 学习 JSON (JavaScript 对象表示法) 学习 JS 模板 学习静态网页生成器 通过JS学习计算机科学 学习前端应用架构 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 (在将来也叫作”Angular”)跌下神坛,多数人意识到它将不再如 Angular 1 那 般辉煌了。 JavaScript 大体上保持软件技术的中流砥柱位置。 更多的开发者开始把工具化(比如自动化)和测试当回事了。 静态站点生成器被重视起来。 CSS 网格布局(CSS Grid)势头正旺且前途无量。 NPM 受到来自 Yarn 的挑战。 下一代类 React 方案的演化通过 Preact、Deku、Rax 和 inferno0 码力 | 164 页 | 6.43 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 JavaScript 版hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 www.hello‑algo.com 39 图 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 379 页 | 18.47 MB | 10 月前3 Hello 算法 1.2.0 简体中文 JavaScript 版hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 www.hello‑algo.com 39 图 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 379 页 | 18.47 MB | 10 月前3
 Hello 算法 1.1.0 JavaScript版hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、Gonglja、nuomi1、codingonion、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 379 页 | 18.46 MB | 1 年前3 Hello 算法 1.1.0 JavaScript版hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、Gonglja、nuomi1、codingonion、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 379 页 | 18.46 MB | 1 年前3
 Hello 算法 1.0.0b5 JavaScript版算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 致谢 本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,他们是 (按照 GitHub 自动生成的顺序):krahets, justin‑tse, sjinzh, nuomi1, Reanon, Gonglja, S‑N‑O‑R‑ L‑A‑X, hpstory, danielsss, RiverTwilight linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 图 2‑13 线性对数阶的时间复杂度 主流排序算法的时间复杂度通常为 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 375 页 | 30.68 MB | 1 年前3 Hello 算法 1.0.0b5 JavaScript版算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 致谢 本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,他们是 (按照 GitHub 自动生成的顺序):krahets, justin‑tse, sjinzh, nuomi1, Reanon, Gonglja, S‑N‑O‑R‑ L‑A‑X, hpstory, danielsss, RiverTwilight linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 图 2‑13 线性对数阶的时间复杂度 主流排序算法的时间复杂度通常为 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 375 页 | 30.68 MB | 1 年前3
 Hello 算法 1.0.0 JavaScript版hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、codingonion、nuomi1、Gonglja、Reanon、justin‑tse、danielsss、 hpstory、S‑N‑O‑R‑L‑A‑X、night‑c linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 376 页 | 17.57 MB | 1 年前3 Hello 算法 1.0.0 JavaScript版hello‑algo.com 3 图 0‑1 本书主要内容 0.1.3 致谢 本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、codingonion、nuomi1、Gonglja、Reanon、justin‑tse、danielsss、 hpstory、S‑N‑O‑R‑L‑A‑X、night‑c linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 // === File: worst_best_time_complexity.js === /* 生成一个数组,元素为 { 1, 2, ..., n },顺序被打乱 */ function randomNumbers(n) { const nums = Array(n); // 生成数组 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 376 页 | 17.57 MB | 1 年前3
 Hello 算法 1.2.0 繁体中文 JavaScript 版hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 // === File: worst_best_time_complexity.js === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ function randomNumbers(n) { const nums = Array(n); // 生成陣列 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 379 页 | 18.78 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 JavaScript 版hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2); for (let i = 0; i < n; i++) { count++; } return count; } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 // === File: worst_best_time_complexity.js === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ function randomNumbers(n) { const nums = Array(n); // 生成陣列 nums = { 1, 2, 3, ..., n } for (let i = 0; i < n;0 码力 | 379 页 | 18.78 MB | 10 月前3
 JavaScript 正则表达式迷你书 老姚 - v1.1真实案例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.1. 使用构造函数生成正则表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.2. 使用字符串保存数据 . . . . . . . . . 本书采用 Asciidoc 格式编写。 使用 Asciidoctor 构建本书电子版。 教程: • 语法教程 • 转换PDF教程 书中用的可视化图片是由 Regulex 正则表达式可视化工具生成。 其余图片是由 Processon 制作。 JavaScript 正则表达式迷你书 前言 | 第 1 页 意见和疑问 如果有意见或者问题的话,可以直接通过以下方式联系到我。 • 前端网 escapeHTML('Blah blah blah') ); // => "<div>Blah blah blah</div>"; 其中使用了用构造函数生成的正则,然后替换相应的格式就行了,这个跟本章没多大关系。 倒是它的逆过程,使用了括号,以便提供引用,也很简单,如下: JavaScript 正则表达式迷你书 3. 第三章 正则表达式括号的作用0 码力 | 89 页 | 3.42 MB | 11 月前3 JavaScript 正则表达式迷你书 老姚 - v1.1真实案例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.1. 使用构造函数生成正则表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.2. 使用字符串保存数据 . . . . . . . . . 本书采用 Asciidoc 格式编写。 使用 Asciidoctor 构建本书电子版。 教程: • 语法教程 • 转换PDF教程 书中用的可视化图片是由 Regulex 正则表达式可视化工具生成。 其余图片是由 Processon 制作。 JavaScript 正则表达式迷你书 前言 | 第 1 页 意见和疑问 如果有意见或者问题的话,可以直接通过以下方式联系到我。 • 前端网 escapeHTML('Blah blah blah') ); // => "<div>Blah blah blah</div>"; 其中使用了用构造函数生成的正则,然后替换相应的格式就行了,这个跟本章没多大关系。 倒是它的逆过程,使用了括号,以便提供引用,也很简单,如下: JavaScript 正则表达式迷你书 3. 第三章 正则表达式括号的作用0 码力 | 89 页 | 3.42 MB | 11 月前3
共 19 条
- 1
- 2













