 2019-2021 美团技术年货 前端篇要节点介绍如下: ● Flutter-Web-Build 利用 Docker 内置的 MTFlutter 进行 Web 编译。 ● Flutter-Web-Publish 负责将编译产物上传美团资源存储服务器。 五、成果展示 5.1 效果展示 我们在美团外卖商家学院(一个以文章、视频等形式帮助商家学习外卖运营知识、了 解行业发展和平台策略的平台,它有很强的传播属性,具有外部投放的场景)率先落 rWeb 依赖的这些 SDK 中包含了一些使用频率较低的功能,例如:蓝牙、USB、WebRTC、陀螺仪等 功能的支持。为此,我们提供了对这些长尾功能的定制能力(这些功能默认不开启, 但业务可配置),将未被启用长尾的功能进行裁剪。 通过上述分析可得,我们的思路就是对 Dead Code 进行二次剔除,以及对这些长 尾功能做裁剪。基于这样的思路,我们深入 Dart-SDK、Framework DOMContentLoaded 之后,对网络资源、事件、DOM 变动 进行监听,并对监听结果根据特定规则进行分析加权,得到一个首屏加载完成 的状态标识; ● 运行阶段,在首屏加载完成之后对配置平台下发的云端 JSON 文件进行解 析,对符合配置规则的资源进行 HTTP XHR 预加载,从而实现文件的预缓存 功能。 下图为预缓存的整体方案设计: 48 > 2021年美团技术年货 图 15 预缓存方案设计 编译阶段0 码力 | 738 页 | 50.29 MB | 1 年前3 2019-2021 美团技术年货 前端篇要节点介绍如下: ● Flutter-Web-Build 利用 Docker 内置的 MTFlutter 进行 Web 编译。 ● Flutter-Web-Publish 负责将编译产物上传美团资源存储服务器。 五、成果展示 5.1 效果展示 我们在美团外卖商家学院(一个以文章、视频等形式帮助商家学习外卖运营知识、了 解行业发展和平台策略的平台,它有很强的传播属性,具有外部投放的场景)率先落 rWeb 依赖的这些 SDK 中包含了一些使用频率较低的功能,例如:蓝牙、USB、WebRTC、陀螺仪等 功能的支持。为此,我们提供了对这些长尾功能的定制能力(这些功能默认不开启, 但业务可配置),将未被启用长尾的功能进行裁剪。 通过上述分析可得,我们的思路就是对 Dead Code 进行二次剔除,以及对这些长 尾功能做裁剪。基于这样的思路,我们深入 Dart-SDK、Framework DOMContentLoaded 之后,对网络资源、事件、DOM 变动 进行监听,并对监听结果根据特定规则进行分析加权,得到一个首屏加载完成 的状态标识; ● 运行阶段,在首屏加载完成之后对配置平台下发的云端 JSON 文件进行解 析,对符合配置规则的资源进行 HTTP XHR 预加载,从而实现文件的预缓存 功能。 下图为预缓存的整体方案设计: 48 > 2021年美团技术年货 图 15 预缓存方案设计 编译阶段0 码力 | 738 页 | 50.29 MB | 1 年前3
 Hello 算法 1.0.0b1 JavaScript版内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划 是一个已排序的「数组」;而从算法角度,我们可将上述查字典的一系列指令看作是「二分查找」算法。 小到烹饪一道菜、大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现,使我们可以通过编程将 数据结构存储在内存中,也可以编写代码来调用 CPU, GPU 执行算法,从而将生活中的问题搬运到计算机中, 更加高效地解决各式各样的复杂问题。 � 读到这里,如果你感到对数据结构、算法、数组、二分查找等此类概念一知半解,那么就太好 具有可行性,可在有限步骤、有限时间、有限内存空间下完成。 ‧ 独立于编程语言,即可用多种语言实现。 1.2.2. 数据结构定义 「数据结构 Data Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 100 码力 | 185 页 | 14.70 MB | 1 年前3 Hello 算法 1.0.0b1 JavaScript版内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划 是一个已排序的「数组」;而从算法角度,我们可将上述查字典的一系列指令看作是「二分查找」算法。 小到烹饪一道菜、大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现,使我们可以通过编程将 数据结构存储在内存中,也可以编写代码来调用 CPU, GPU 执行算法,从而将生活中的问题搬运到计算机中, 更加高效地解决各式各样的复杂问题。 � 读到这里,如果你感到对数据结构、算法、数组、二分查找等此类概念一知半解,那么就太好 具有可行性,可在有限步骤、有限时间、有限内存空间下完成。 ‧ 独立于编程语言,即可用多种语言实现。 1.2.2. 数据结构定义 「数据结构 Data Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 100 码力 | 185 页 | 14.70 MB | 1 年前3
 前端开发者指南(2017)模版/数据绑定工具 UI 组件 & 组件包 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 离线工具 安全工具 构建工具 模版/数据绑定工具 UI 组件 & 组件包 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 Introduction 9 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 基于原型并且把函数视为头等公民,因此是一种多范式的编程语言,支持 面向对象,命令式以及函数式编程风格。它有一个可被用来操作文字,数组,日期以及 正则表达式的 API,然而并不包含任何 I/O,因此像建网,存储或者图形工具之类的功能 就需要依赖它所在的开发环境。 — 维基百科 相关规范/文档: ECMAScript® 2017 语言规范 Web APIs (HTML5 及其他) 当使用 Javascript0 码力 | 164 页 | 6.43 MB | 1 年前3 前端开发者指南(2017)模版/数据绑定工具 UI 组件 & 组件包 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 离线工具 安全工具 构建工具 模版/数据绑定工具 UI 组件 & 组件包 数据可视化工具(例如图表) 图形工具(例如 SVG、canvas、webGL) 动画工具 JSON 工具 占位符内容工具 测试工具 前端数据存储工具 (例如客户端的数据存储方案) 模块加载/打包工具 Introduction 9 模块/包管理工具 托管工具 项目管理以及代码托管工具 协作与沟通工具 内容管理 托管/API 工具 后端即服务工具 基于原型并且把函数视为头等公民,因此是一种多范式的编程语言,支持 面向对象,命令式以及函数式编程风格。它有一个可被用来操作文字,数组,日期以及 正则表达式的 API,然而并不包含任何 I/O,因此像建网,存储或者图形工具之类的功能 就需要依赖它所在的开发环境。 — 维基百科 相关规范/文档: ECMAScript® 2017 语言规范 Web APIs (HTML5 及其他) 当使用 Javascript0 码力 | 164 页 | 6.43 MB | 1 年前3
 Hello 算法 1.1.0 JavaScript版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 379 页 | 18.46 MB | 1 年前3 Hello 算法 1.1.0 JavaScript版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 379 页 | 18.46 MB | 1 年前3
 Hello 算法 1.0.0 JavaScript版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 � 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,本书将 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 376 页 | 17.57 MB | 1 年前3 Hello 算法 1.0.0 JavaScript版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 � 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,本书将 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 376 页 | 17.57 MB | 1 年前3
 Hello 算法 1.0.0b5 JavaScript版),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使我们能够通过编程将 数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题转 移到计算机上,以更高效的方式解决各种复杂问题。 � 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,这本书 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及用于操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构进行实现,并往往有对应最优的数据结构,但最终执行效率可能相 差很大。 图 1‑40 码力 | 375 页 | 30.68 MB | 1 年前3 Hello 算法 1.0.0b5 JavaScript版),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使我们能够通过编程将 数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题转 移到计算机上,以更高效的方式解决各种复杂问题。 � 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,这本书 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及用于操作数据的方法。 ‧ 算法是数据结构发挥作用的舞台。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构进行实现,并往往有对应最优的数据结构,但最终执行效率可能相 差很大。 图 1‑40 码力 | 375 页 | 30.68 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 JavaScript 版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法为数据结构注入生命力。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 379 页 | 18.47 MB | 10 月前3 Hello 算法 1.2.0 简体中文 JavaScript 版最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数 数据结构与算法的关系 如图 1‑4 所示,数据结构与算法高度相关、紧密结合,具体表现在以下三个方面。 ‧ 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。 ‧ 算法为数据结构注入生命力。数据结构本身仅存储数据信息,结合算法才能解决特定问题。 ‧ 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系0 码力 | 379 页 | 18.47 MB | 10 月前3
 阮一峰 《ECMAScript 6入门》 第三版}); 上面的原始代码用了箭头函数,Babel 将其转为普通函数,就能在不支持箭头函数 的 JavaScript 环境执行了。 配置文件 .babelrc Babel 的配置文件是 .babelrc ,存放在项目的根目录下。使用 Babel 的第一步, 就是配置这个文件。 该文件用来设置转码规则和插件,基本格式如下。 { "presets": [], "plugins": map, ast } // Babel AST转码 babel.transformFromAst(ast, code, options); // => { code, map, ast } 配置对象 options ,可以参看官方文档http://babeljs.io/docs/usage/options/。 下面是一个例子。 var es6Code = 'let x = n => n function x(n) {\n return n + 1;\n} ;' 上面代码中, transform 方法的第一个参数是一个字符串,表示需要被转换的 ES6 代码,第二个参数是转换的配置对象。 ECMAScript 6简介 16 babel-polyfill Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比 如 Iterator0 码力 | 679 页 | 2.66 MB | 1 年前3 阮一峰 《ECMAScript 6入门》 第三版}); 上面的原始代码用了箭头函数,Babel 将其转为普通函数,就能在不支持箭头函数 的 JavaScript 环境执行了。 配置文件 .babelrc Babel 的配置文件是 .babelrc ,存放在项目的根目录下。使用 Babel 的第一步, 就是配置这个文件。 该文件用来设置转码规则和插件,基本格式如下。 { "presets": [], "plugins": map, ast } // Babel AST转码 babel.transformFromAst(ast, code, options); // => { code, map, ast } 配置对象 options ,可以参看官方文档http://babeljs.io/docs/usage/options/。 下面是一个例子。 var es6Code = 'let x = n => n function x(n) {\n return n + 1;\n} ;' 上面代码中, transform 方法的第一个参数是一个字符串,表示需要被转换的 ES6 代码,第二个参数是转换的配置对象。 ECMAScript 6简介 16 babel-polyfill Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比 如 Iterator0 码力 | 679 页 | 2.66 MB | 1 年前3
 廖雪峰JavaScript教程[[1, 2, 3], [400, 500, 600], '-']; 3. 4. var x = ??; 5. 6. alert(x); // x应该为500 Array 提供了一种顺序存储一组元素的功能,并可以按索引来读写。 练习:在新生欢迎会上,你已经拿到了新同学的名单,请排序后显示: 欢迎XXX,XXX,XXX和XXX同 学! : 1. 'use strict'; 2. 2. m.set('Adam', 67); 3. m.set('Adam', 88); 4. m.get('Adam'); // 88 Set 和 Map 类似,也是一组key的集合,但不存储value。由于key不能重复,所以, 在 Set 中,没有重复的key。 要创建一个 Set ,需要提供一个 Array 作为输入,或者直接创建一个空 Set : 1. var s1 ie给浏 览器,例如 user=ABC123XYZ(加密的字符串)… ,此后,浏览器访问该网站时,会在请求头附上这个 Cookie,服务器根据Cookie即可区分出用户。 Cookie还可以存储网站的一些设置,例如,页面显示的语言等等。 JavaScript可以通过 document.cookie 读取到当前页面的Cookie: 1. document.cookie; // 'v=123;0 码力 | 264 页 | 2.81 MB | 10 月前3 廖雪峰JavaScript教程[[1, 2, 3], [400, 500, 600], '-']; 3. 4. var x = ??; 5. 6. alert(x); // x应该为500 Array 提供了一种顺序存储一组元素的功能,并可以按索引来读写。 练习:在新生欢迎会上,你已经拿到了新同学的名单,请排序后显示: 欢迎XXX,XXX,XXX和XXX同 学! : 1. 'use strict'; 2. 2. m.set('Adam', 67); 3. m.set('Adam', 88); 4. m.get('Adam'); // 88 Set 和 Map 类似,也是一组key的集合,但不存储value。由于key不能重复,所以, 在 Set 中,没有重复的key。 要创建一个 Set ,需要提供一个 Array 作为输入,或者直接创建一个空 Set : 1. var s1 ie给浏 览器,例如 user=ABC123XYZ(加密的字符串)… ,此后,浏览器访问该网站时,会在请求头附上这个 Cookie,服务器根据Cookie即可区分出用户。 Cookie还可以存储网站的一些设置,例如,页面显示的语言等等。 JavaScript可以通过 document.cookie 读取到当前页面的Cookie: 1. document.cookie; // 'v=123;0 码力 | 264 页 | 2.81 MB | 10 月前3
 [试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 ECMAScript 变量是弱类型的 在学习高级编程语言的过程中,最先接触的,也是最重要的概念应该就是变量了。所谓“变 量”,一般意义上理解就是程序中用于存储数据信息的容器,或者也可以理解为用于替代数据 信息的符号。 ECMAScript 规范中定义的变量既可以存储数据信息,也可以定义为替代表达式的符号。 一般都是通过“var”关键字来定义变量,且定义的均是无特定类型的变量(也称为弱类型)。 因此,ECMAScript 种类型的值有什么区别呢?我们先看一下官方给出的原始值和引用值的定义。 � 原始值:原始值是存储在栈(stack)中的简单数据段,换句话解释就是原始值是直 接存储在变量访问的位置。 � 引用值:引用值是存储在堆(heap)中的对象,简单解释就是存储在变量处的值是一 个指针(pointer),指向存储对象的内存处。 另外,这里提到关于指针的概念,对于学习过 C 语言的读者会比较容易理解引用值的概 由于原始类型的值所占据的空间是固定的,因此可将其存储在占用较小内存区域的“栈” 中,这种存储机制便于 ECMAScript 解释程序迅速查找变量的值。而如果一个值是引用类型, 那么其存储空间将从“堆”中分配。 “栈”与“堆”是计算机操作系统中两个十分重要的概念,这是因为二者作用的重要性。从 数据结构上理解,“栈”是一种“先进后出、后进先出”的存储结构;“堆”是一种树形存储结 构。从计算机操作系统原理上0 码力 | 52 页 | 3.83 MB | 1 年前3 [试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 ECMAScript 变量是弱类型的 在学习高级编程语言的过程中,最先接触的,也是最重要的概念应该就是变量了。所谓“变 量”,一般意义上理解就是程序中用于存储数据信息的容器,或者也可以理解为用于替代数据 信息的符号。 ECMAScript 规范中定义的变量既可以存储数据信息,也可以定义为替代表达式的符号。 一般都是通过“var”关键字来定义变量,且定义的均是无特定类型的变量(也称为弱类型)。 因此,ECMAScript 种类型的值有什么区别呢?我们先看一下官方给出的原始值和引用值的定义。 � 原始值:原始值是存储在栈(stack)中的简单数据段,换句话解释就是原始值是直 接存储在变量访问的位置。 � 引用值:引用值是存储在堆(heap)中的对象,简单解释就是存储在变量处的值是一 个指针(pointer),指向存储对象的内存处。 另外,这里提到关于指针的概念,对于学习过 C 语言的读者会比较容易理解引用值的概 由于原始类型的值所占据的空间是固定的,因此可将其存储在占用较小内存区域的“栈” 中,这种存储机制便于 ECMAScript 解释程序迅速查找变量的值。而如果一个值是引用类型, 那么其存储空间将从“堆”中分配。 “栈”与“堆”是计算机操作系统中两个十分重要的概念,这是因为二者作用的重要性。从 数据结构上理解,“栈”是一种“先进后出、后进先出”的存储结构;“堆”是一种树形存储结 构。从计算机操作系统原理上0 码力 | 52 页 | 3.83 MB | 1 年前3
共 19 条
- 1
- 2













