 阮一峰 《ECMAScript 6入门》 第三版23 1.24 1.25 1.26 1.27 目錄 前言 ECMAScript 6简介 let 和 const 命令 变量的解构赋值 字符串的扩展 正则的扩展 数值的扩展 函数的扩展 数组的扩展 对象的扩展 Symbol Set 和 Map 数据结构 Proxy Reflect Promise 对象 Iterator 和 for...of 循环 Generator "latest", "react", "stage-2" ], "plugins": [] } 注意,以下所有 Babel工具和模块的使用,都必须先写好 .babelrc 。 命令行转码 babel-cli Babel提供 babel-cli 工具,用于命令行转码。 它的安装命令如下。 $ npm install } } 上面代码中,使用 babel-node 替代 node ,这样 script.js 本身就不用做任 何转码处理。 babel-register babel-register 模块改写 require 命令,为它加上一个钩子。此后,每当使 用 require 加载 .js 、 .jsx 、 .es 和 .es6 后缀名的文件,就会先用Babel 进行转码。 $0 码力 | 679 页 | 2.66 MB | 1 年前3 阮一峰 《ECMAScript 6入门》 第三版23 1.24 1.25 1.26 1.27 目錄 前言 ECMAScript 6简介 let 和 const 命令 变量的解构赋值 字符串的扩展 正则的扩展 数值的扩展 函数的扩展 数组的扩展 对象的扩展 Symbol Set 和 Map 数据结构 Proxy Reflect Promise 对象 Iterator 和 for...of 循环 Generator "latest", "react", "stage-2" ], "plugins": [] } 注意,以下所有 Babel工具和模块的使用,都必须先写好 .babelrc 。 命令行转码 babel-cli Babel提供 babel-cli 工具,用于命令行转码。 它的安装命令如下。 $ npm install } } 上面代码中,使用 babel-node 替代 node ,这样 script.js 本身就不用做任 何转码处理。 babel-register babel-register 模块改写 require 命令,为它加上一个钩子。此后,每当使 用 require 加载 .js 、 .jsx 、 .es 和 .es6 后缀名的文件,就会先用Babel 进行转码。 $0 码力 | 679 页 | 2.66 MB | 1 年前3
 TypeScript Handbook(中文版)
4.6 5 5.1 5.2 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig 1 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 TypeScript Handbook(中文版) 5 " + person; } var user = "Jane User"; document.body.innerHTML = greeter(user); 编译代码 我们使用了 .ts 扩展名,但是这段代码仅仅是JavaScript而已。 你可以直接从现 有的JavaScript应用里复制/粘贴这段代码。 在命令行上,运行TypeScript编译器: tsc greeter.ts0 码力 | 557 页 | 7.48 MB | 1 年前3 TypeScript Handbook(中文版)
4.6 5 5.1 5.2 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 规范 举例 深入 发布 使用 工程配置 tsconfig 1 手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 书写.d.ts文件 JSX Decorators 混入 三斜线指令 如何书写声明文件 结构 TypeScript Handbook(中文版) 5 " + person; } var user = "Jane User"; document.body.innerHTML = greeter(user); 编译代码 我们使用了 .ts 扩展名,但是这段代码仅仅是JavaScript而已。 你可以直接从现 有的JavaScript应用里复制/粘贴这段代码。 在命令行上,运行TypeScript编译器: tsc greeter.ts0 码力 | 557 页 | 7.48 MB | 1 年前3
 TypeScript 4.0 使用手册
手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack.CN 构建 基础类型 变量声明 接口 类 函数 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 目录 README - 12 - 本文档使用 书栈网 · BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践0 码力 | 683 页 | 6.27 MB | 1 年前3 TypeScript 4.0 使用手册
手册 基础类型 变量声明 接口 类 函数 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 - 2 - 本文档使用 书栈网 · BookStack.CN 构建 基础类型 变量声明 接口 类 函数 字面量类型 泛型 枚举 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 目录 README - 12 - 本文档使用 书栈网 · BookStack.CN 构建 类型推论 类型兼容性 高级类型 Symbols Iterators 和 Generators 模块 命名空间 命名空间和模块 模块解析 声明合并 JSX Decorators 混入 三斜线指令 JavaScript文件里的类型检查 实用工具类型 如何书写声明文件 介绍 库结构 举例 最佳实践0 码力 | 683 页 | 6.27 MB | 1 年前3
 electron中文教程
目 录 致谢 向导 支持平台 分发应用 提交应用到 Mac App Store 打包应用 使用 Node 原生模块 主进程调试 使用 Selenium 和 WebDriver 使用开发人员工具扩展 使用 Pepper Flash 插件 使用 Widevine CDM 插件 教程 快速入门 桌面环境集成 在线/离线事件探测 API文档 简介 进程对象 支持的 支持的 Chrome 命令行开关 环境变量 自定义的 DOM 元素 File 对象 标签 window.open 函数 在主进程内可用的模块 app autoUpdater BrowserWindow contentTracing dialog globalShortcut ipcMain Menu MenuItem powerMonitor - 2 - 本文档使用 powerSaveBlocker protocol session webContents Tray 在渲染进程(网页)内可用的模块 desktopCapturer ipcRenderer remote webFrame 在两种进程中都可用的模块 clipboard crashReporter nativeImage screen shell 开发 代码规范 源码目录结构0 码力 | 203 页 | 2.72 MB | 1 年前3 electron中文教程
目 录 致谢 向导 支持平台 分发应用 提交应用到 Mac App Store 打包应用 使用 Node 原生模块 主进程调试 使用 Selenium 和 WebDriver 使用开发人员工具扩展 使用 Pepper Flash 插件 使用 Widevine CDM 插件 教程 快速入门 桌面环境集成 在线/离线事件探测 API文档 简介 进程对象 支持的 支持的 Chrome 命令行开关 环境变量 自定义的 DOM 元素 File 对象 标签 window.open 函数 在主进程内可用的模块 app autoUpdater BrowserWindow contentTracing dialog globalShortcut ipcMain Menu MenuItem powerMonitor - 2 - 本文档使用 powerSaveBlocker protocol session webContents Tray 在渲染进程(网页)内可用的模块 desktopCapturer ipcRenderer remote webFrame 在两种进程中都可用的模块 clipboard crashReporter nativeImage screen shell 开发 代码规范 源码目录结构0 码力 | 203 页 | 2.72 MB | 1 年前3
 2019-2021 美团技术年货 前端篇相似之处(如下表所示),我们可以从 Android 的实现入手,完成对鸿蒙的移植。 Flutter 在鸿蒙上的适配 如前文所述,要完成 Flutter 在新系统上的移植,我们需要完整实现 Flutter 嵌入层 要求的所有子模块,而从能力支持角度,渲染、交互以及其他必要的原生平台能力 是保证 Flutter 应用能够运行起来的最基本的要素,需要优先支持。接下来会依次进 行介绍。 1. 渲染流程打通 我们再来回顾一下 18 > 2021年美团技术年货 上图为 MTFlutter + Web 架构图,由图可知 Flutter Web 页面要满足投产要求,还 有大量的工作(上图黄色部分所示),主要包括: ● 扩展基础依赖(如:Request、Router、埋点等)在 Web 侧的支持。 ● 完善工程化建设,例如:静态资源优化、构建与部署自动化。 ● 深入滚动性能与页面加载性能优化,使得 Flutter 原有 Native 基础依赖开发的 Plugin,因此并不支持 Web 端。此章节将展开介绍如 何丝滑无感地扩展 MTFlutter 基础依赖在 Web 端的实现。 4.1.1 Flutter Package 分平台编程 在 Flutter 中通过使用 Package 可以创建易于共享的模块化代码。官方强烈推荐使 用 Package 形式管理各种工具方法。在官方定义中 Package 包含以下两种类别:0 码力 | 738 页 | 50.29 MB | 1 年前3 2019-2021 美团技术年货 前端篇相似之处(如下表所示),我们可以从 Android 的实现入手,完成对鸿蒙的移植。 Flutter 在鸿蒙上的适配 如前文所述,要完成 Flutter 在新系统上的移植,我们需要完整实现 Flutter 嵌入层 要求的所有子模块,而从能力支持角度,渲染、交互以及其他必要的原生平台能力 是保证 Flutter 应用能够运行起来的最基本的要素,需要优先支持。接下来会依次进 行介绍。 1. 渲染流程打通 我们再来回顾一下 18 > 2021年美团技术年货 上图为 MTFlutter + Web 架构图,由图可知 Flutter Web 页面要满足投产要求,还 有大量的工作(上图黄色部分所示),主要包括: ● 扩展基础依赖(如:Request、Router、埋点等)在 Web 侧的支持。 ● 完善工程化建设,例如:静态资源优化、构建与部署自动化。 ● 深入滚动性能与页面加载性能优化,使得 Flutter 原有 Native 基础依赖开发的 Plugin,因此并不支持 Web 端。此章节将展开介绍如 何丝滑无感地扩展 MTFlutter 基础依赖在 Web 端的实现。 4.1.1 Flutter Package 分平台编程 在 Flutter 中通过使用 Package 可以创建易于共享的模块化代码。官方强烈推荐使 用 Package 形式管理各种工具方法。在官方定义中 Package 包含以下两种类别:0 码力 | 738 页 | 50.29 MB | 1 年前3
 [试读] Angular 5 高级编程运行示例项目.....................72 5.2 理解 script 元素........................73 5.2.1 使用 JavaScript 模块 加载器 ..............................73 5.2.2 理解基本工作流.................74 5.3 使用语句............ 定义类...............................96 6.3 处理 JavaScript 模块.................99 6.3.1 创建模块 ...........................99 6.3.2 从 JavaScript 模块导入.......100 6.4 有用的 TypeScript 特性 ..........103 6 服务.....119 7.2 准备 Angular 项目功能...........120 7.2.1 更新根组件......................120 7.2.2 更新根模块......................121 7.2.3 检查引导文件...................121 7.3 启动数据模型......................0 码力 | 42 页 | 6.14 MB | 1 年前3 [试读] Angular 5 高级编程运行示例项目.....................72 5.2 理解 script 元素........................73 5.2.1 使用 JavaScript 模块 加载器 ..............................73 5.2.2 理解基本工作流.................74 5.3 使用语句............ 定义类...............................96 6.3 处理 JavaScript 模块.................99 6.3.1 创建模块 ...........................99 6.3.2 从 JavaScript 模块导入.......100 6.4 有用的 TypeScript 特性 ..........103 6 服务.....119 7.2 准备 Angular 项目功能...........120 7.2.1 更新根组件......................120 7.2.2 更新根模块......................121 7.2.3 检查引导文件...................121 7.3 启动数据模型......................0 码力 | 42 页 | 6.14 MB | 1 年前3
 前端开发者指南(2017)学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 离线工具 安全工具 构建工具 部署工具 4 1.7.38 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 Introduction 8 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全0 码力 | 164 页 | 6.43 MB | 1 年前3 前端开发者指南(2017)学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 离线工具 安全工具 构建工具 部署工具 4 1.7.38 学习数据(例如,JSON)API 的设计 学习 React & Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 Introduction 8 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全0 码力 | 164 页 | 6.43 MB | 1 年前3
 廖雪峰JavaScript教程修改DOM结构 7.3 事件 7.4 动画 7.5 扩展 8 underscore 8.1 Collections 8.2 Arrays 8.3 Functions 8.4 Objects 8.5 Chaining 9 Node.js 9.1 安装Node.js和npm 9.2 第一个Node程序 9.3 模块 9.4 基本模块 9.4.1 fs 9.4.2 stream 这种抽象记法非常强大,因为我们看到 ∑ 就可以理解成求和,而不是还原成低级的加法运算。 函数 抽象 3 函数 - 48 - 本文档使用 书栈(BookStack.CN) 构建 而且,这种抽象记法是可扩展的,比如: 100 ∑(n2+1) n=1 还原成加法运算就变成了: (1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + … + (100 书栈(BookStack.CN) 构建 5.2 原型继承 在传统的基于Class的语言如Java、C++中,继承的本质是扩展一个已有的Class,并生成新的 Subclass。 由于这类语言严格区分类和实例,继承实际上是类型的扩展。但是,JavaScript由于采用原型继承, 我们无法直接扩展一个Class,因为根本不存在Class这种类型。 但是办法还是有的。我们先回顾 Student 构造函数:0 码力 | 264 页 | 2.81 MB | 10 月前3 廖雪峰JavaScript教程修改DOM结构 7.3 事件 7.4 动画 7.5 扩展 8 underscore 8.1 Collections 8.2 Arrays 8.3 Functions 8.4 Objects 8.5 Chaining 9 Node.js 9.1 安装Node.js和npm 9.2 第一个Node程序 9.3 模块 9.4 基本模块 9.4.1 fs 9.4.2 stream 这种抽象记法非常强大,因为我们看到 ∑ 就可以理解成求和,而不是还原成低级的加法运算。 函数 抽象 3 函数 - 48 - 本文档使用 书栈(BookStack.CN) 构建 而且,这种抽象记法是可扩展的,比如: 100 ∑(n2+1) n=1 还原成加法运算就变成了: (1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + … + (100 书栈(BookStack.CN) 构建 5.2 原型继承 在传统的基于Class的语言如Java、C++中,继承的本质是扩展一个已有的Class,并生成新的 Subclass。 由于这类语言严格区分类和实例,继承实际上是类型的扩展。但是,JavaScript由于采用原型继承, 我们无法直接扩展一个Class,因为根本不存在Class这种类型。 但是办法还是有的。我们先回顾 Student 构造函数:0 码力 | 264 页 | 2.81 MB | 10 月前3
 JavaScript Promise迷你书(中文版)是严格相等比较运算符,我们可以看出这三个对象都是互不相同的,这也就证明 了 then 和 catch 都返回了和调用者不同的promise对象。 Figure 6. 我们在对Promise进行扩展的时候需要牢牢记住这一点,否则稍不留神就有可能对错误 的promise对象进行了处理。 如果我们知道了 then 方法每次都会创建并返回一个新的promise对象的话,那么我们 就应该不难理解下面代码中对 ,这个我们在后面再讲。 要想在本章中使用Mocha,我们需要先通过npm来安装Mocha。 $ npm install -g mocha 另外,Assert库我们使用的是Node.js自带的 assert 模块,所以不需要额外安装。 首先,让我们试着编写一个对传统回调风格的异步函数进行测试的代码。 回调函数风格的测试 如果想使用回调函数风格来对一个异步处理进行测试,使用Mocha的话代码如下所 示。 Promise的规定,进行promise对象的变换。 ES6 Promise 里关于promise对象的规定包括在使用 catch 方法,或 使用 Promise.all 进行处理的时候不能出现错误。 Polyfill和扩展类库 在这些Promise的实现类库中,我们这里主要对两种类型的类库进行介绍。 一种是被称为 Polyfill (这是一款英国产品,就是装修刮墙用的腻子,其意义可想而 知 — 译者注)的类库,另一种是即具有0 码力 | 112 页 | 1010.02 KB | 1 年前3 JavaScript Promise迷你书(中文版)是严格相等比较运算符,我们可以看出这三个对象都是互不相同的,这也就证明 了 then 和 catch 都返回了和调用者不同的promise对象。 Figure 6. 我们在对Promise进行扩展的时候需要牢牢记住这一点,否则稍不留神就有可能对错误 的promise对象进行了处理。 如果我们知道了 then 方法每次都会创建并返回一个新的promise对象的话,那么我们 就应该不难理解下面代码中对 ,这个我们在后面再讲。 要想在本章中使用Mocha,我们需要先通过npm来安装Mocha。 $ npm install -g mocha 另外,Assert库我们使用的是Node.js自带的 assert 模块,所以不需要额外安装。 首先,让我们试着编写一个对传统回调风格的异步函数进行测试的代码。 回调函数风格的测试 如果想使用回调函数风格来对一个异步处理进行测试,使用Mocha的话代码如下所 示。 Promise的规定,进行promise对象的变换。 ES6 Promise 里关于promise对象的规定包括在使用 catch 方法,或 使用 Promise.all 进行处理的时候不能出现错误。 Polyfill和扩展类库 在这些Promise的实现类库中,我们这里主要对两种类型的类库进行介绍。 一种是被称为 Polyfill (这是一款英国产品,就是装修刮墙用的腻子,其意义可想而 知 — 译者注)的类库,另一种是即具有0 码力 | 112 页 | 1010.02 KB | 1 年前3
 ExtJS和AngularJS比较ew-Controller(MVC) 和 Model-View-Vie wModel(MVVM) 8. 依赖注入 Ext JS 能够通过扩展( Deft JS)增加依赖注入 ✔ 9. 数据绑定 ✔ ✔ 10. 直接操作DOM元素 ✔ ✔ 11. 模块化 ✔ ✔ 测试 测试 12. 自动测试支持 通过扩展工具实现 ✔ 13. 测试框架或者测试工具 许多第三方的测试框架,比如 Siesta (专门为ExtJS优化) Touch开发移动端版本。有些组件, 比如NestedList,在移动端,比Grids要好。这就意味着 ,需要开发独立的移动版应用。 使用ng-touch库、angular-gestures 和 ang ularJS 响应模块实现响应式Web应用, 18. 跨平台的移动应用或者混合应用 使用 Sencha Touch 和 Apache Cordova/Phonegap 集成来 实现 AngularJS使用 Trigger Cordova/Phone gap integration, Ionic framework 来开发丰 富和健壮的移动应用 19. 移动站点 Sencha touch就是用来开发移动站点的 AngularJS 响应模块(angular-responsive, a ngular-deckgrid 等),UI Bootstrap, Ang ularJS responsive directives, angular-gestur0 码力 | 6 页 | 244.12 KB | 1 年前3 ExtJS和AngularJS比较ew-Controller(MVC) 和 Model-View-Vie wModel(MVVM) 8. 依赖注入 Ext JS 能够通过扩展( Deft JS)增加依赖注入 ✔ 9. 数据绑定 ✔ ✔ 10. 直接操作DOM元素 ✔ ✔ 11. 模块化 ✔ ✔ 测试 测试 12. 自动测试支持 通过扩展工具实现 ✔ 13. 测试框架或者测试工具 许多第三方的测试框架,比如 Siesta (专门为ExtJS优化) Touch开发移动端版本。有些组件, 比如NestedList,在移动端,比Grids要好。这就意味着 ,需要开发独立的移动版应用。 使用ng-touch库、angular-gestures 和 ang ularJS 响应模块实现响应式Web应用, 18. 跨平台的移动应用或者混合应用 使用 Sencha Touch 和 Apache Cordova/Phonegap 集成来 实现 AngularJS使用 Trigger Cordova/Phone gap integration, Ionic framework 来开发丰 富和健壮的移动应用 19. 移动站点 Sencha touch就是用来开发移动站点的 AngularJS 响应模块(angular-responsive, a ngular-deckgrid 等),UI Bootstrap, Ang ularJS responsive directives, angular-gestur0 码力 | 6 页 | 244.12 KB | 1 年前3
共 55 条
- 1
- 2
- 3
- 4
- 5
- 6













