廖雪峰JavaScript教程已经在2015年6月正式发布了,所以,讲到JavaScript的版本,实际上就是说它实现了ECMAScript 标准的哪个版本。 JavaScript简介 JavaScript历史 ECMAScript JavaScript版本 1 JavaScript简介 - 7 - 本文档使用 书栈(BookStack.CN) 构建 由于浏览器在发布时就确定了JavaScript的版本,加上很多用户还在使用IE6这种古老的浏览器,这 的浏览器,这 就导致你在写JavaScript的时候,要照顾一下老用户,不能一上来就用最新的ES6标准写,否则,老 用户的浏览器是无法运行新版本的JavaScript代码的。 不过,JavaScript的核心语法并没有多大变化。我们的教程会先讲JavaScript最核心的用法,然 后,针对ES6讲解新增特性。 原文: https://wizardforcel.gitbooks.io/li arr.indexOf('30'); // 元素'30'的索引为2 注意了,数字 30 和字符串 '30' 是不同的元素。 slice() 就是对应String的 substring() 版本,它截取 Array 的部分元素,然后返回一个新 的 Array : 1. var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; 2. arr.slice(00 码力 | 264 页 | 2.81 MB | 10 月前3
阮一峰 《ECMAScript 6入门》 第三版ECMAScript 6 入门 《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 前言 4 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介 绍,并给出大量简洁易懂的示例代码。 本书为中级难度,适合已经掌握 ES5 的读者,用来了解这门语言的最新发展;也 可当作参考手册,查寻新增的语法点。 提交给国际标准化组织ECMA,希望这种语言能够成为国 际标准。次年,ECMA 发布262号标准文件(ECMA-262)的第一版,规定了浏览 器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是1.0版。 该标准从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有 两个原因。一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 2011年,ECMAScript 5.1版发布后,就开始制定6.0版了。因此,ES6 这个词的原 意,就是指 JavaScript 语言的下一个版本。 但是,因为这个版本引入的语法功能太多,而且制定过程当中,还有很多组织和个 人不断提交新功能。事情很快就变得清楚了,不可能在一个版本里面包括所有将要 引入的功能。常规的做法是先发布6.0版,过一段时间再发6.1版,然后是6.2版、 ECMAScript 6简介0 码力 | 679 页 | 2.66 MB | 1 年前3
阮一峰 JavaScript 教程核心语法和浏览器网页开发的基本知识, 不涉及 Node。全书可以分成以下四大部分。 基本语法 标准库 浏览器 API DOM JavaScript 语言有多个版本。本书的内容主要基于 ECMAScript 5.1 版本,这是学习 JavaScript 语法的基础。ES6 和更新的语法 导论 - 10 - 本文档使用 书栈(BookStack.CN) 构建 请参考我写的《ECMAScript 上使用量排名第一的 语言。 著名程序员 Jeff Atwood 甚至提出了一条 “Atwood 定律”: “所有可以用 JavaScript 编写的程序,最终都会出现 JavaScript 的版本。”(Any application that can be written in JavaScript will eventually be written in JavaScript.) 相比学习其他语言,学习 书栈(BookStack.CN) 构建 历史 JavaScript 语言的历史 诞生 JavaScript 与 Java 的关系 JavaScript 与 ECMAScript 的关系 JavaScript的版本 周边大事记 参考链接 JavaScript 因为互联网而生,紧跟着浏览器的出现而问世。回顾它 的历史,就要从浏览器的历史讲起。 1990年底,欧洲核能研究组织(CERN)科学家 Tim Berners-0 码力 | 540 页 | 3.32 MB | 10 月前3
2019-2021 美团技术年货 前端篇段时间的探索和实践,美团外卖 MTFlutter 团队成功实现了 Flutter 对于鸿蒙系统的 前端 2 > 2021年美团技术年货 原生支持。 这里也要提前说明一下,因为鸿蒙系统目前还处于 Beta 版本,所以这套适配方案还 没有在实际业务中上线,属于技术层面比较前期的探索。接下来本文会通过原理和部 分实现细节的介绍,分享我们在移植和开发过程中的一些经验。希望能对大家有所启 发或者帮助。 背景知识和基础概念介绍 的布局约束,如何打破这样的约束,是解决滚动性能问题 的关键。 前端 < 35 ● 页面加载性能优化: 当前的页面加载性能仍有较大优化空间,需要对 Flutter 进行编译干预与优化(如按需分离 main.dart.js),减小资源包大小,有效提升 页面加载性能。 ● Flutter Web 基建:完善并优化开发、调试、编译、构建、部署链路,使得新 老项目能快速接入 Flutter 两者的区别进行了对比: 图 3 模式对比 Canvaskit Render 模式:底层基于 Skia 的 WebAssembly 版本,而上层使 用 WebGL 进行渲染,因此能较好地保证一致性和滚动性能,但糟糕的兼容性 (WebAssembly 从 Chrome 57 版本才开始支持)是我们需要面对的问题。此外 Skia 的 WebAssembly 文件大小达到了 2.5M,且 Skia 自绘引擎需要字体库支持,0 码力 | 738 页 | 50.29 MB | 1 年前3
JavaScript Promise迷你书(中文版)的、Promise的相关知识为主要讲解内容。 在Firefox和Chrome这样技术比较超前的浏览器上,不需要安装额外的插件就能使用 Promise功能,此外ES6 Promises的规范来源于Promises/A+社区,它有很多版本的实 现。 我们将会从基础API开始介绍可以在浏览器的原生支持或者通过插件支持的Promise功 能。 也希望各位读者能了解这其中Promise适合干什么,不适合干什么,能根据实际需 求选择合适的技术实现方案。 }); 如果我们在各种浏览器中执行这段代码,那么在IE8及以下版本则会出现 identifier not found 的语法错误。 这是怎么回事呢? 实际上这和 catch 是ECMAScript的 保留字27 (Reserved Word)有 关。 在ECMAScript 3中保留字是不能作为对象的属性名使用的。 而IE8及以下版本都是 基于ECMAScript 3实现的,因此不能将 catch 则不能使用保留字), 但是使用 中括号标记法(bracket notation)31的话,则可以将非合法标识符作为对象 的属性名使用。 也就是说,上面的代码如果像下面这样重写的话,就能在IE8及以下版本的浏览器中运 行了(当然还需要polyfill)。 解决Promise#catch标识符冲突问题 27 http://mothereff.in/js-properties#catch 28 http://es50 码力 | 112 页 | 1010.02 KB | 1 年前3
Web 开发技术-JavaScriptJavaScript 功能、脚本语言 5 VCG JavaScript 2020/4/28 6 2. JavaScript 功能 主要功能 向 HTML 页面添加交互行为 读写 HTML 元素 在数据被提交到服务器之前验证数据 检测访客的浏览器信息 控制 cookies 和本地存储 JavaScript 功能、脚本语言 JavaScript 特点 • 脚本编写语言 • 基于对象的语言 • 简单性 • 安全性 • 动态性 • 跨平台 6 VCG JavaScript 2020/4/28 7 主要功能 向 HTML 页面添加交互行为 读写 HTML 元素 在数据被提交到服务器之前验证数据 检测访客的浏览器信息 控制 cookies 和本地存储 VCG JavaScript 2020/4/28 8 2. JavaScript Object Model)提供了很多对象,用于访问浏览器的功能,这些功 能与任何网页内容无关。 BOM 的常用用途 弹出新浏览器窗口 移动、缩放和关闭浏览器窗口 获取浏览器详情信息,如浏览器版本、语言等 获取浏览器所加载页面的详细信息,如 URL 等 获取用户显示分辨率的详细信息,如显示屏幕的高度、宽度等 对 cookie 的支持 HTML5 将主要的 BOM 方法纳入规范。0 码力 | 21 页 | 1.02 MB | 1 年前3
前端开发者指南(2017)Redux 学习渐进式 Web 应用 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 导向学习 前端课程 前端开发学习的起点 前端资讯、新闻站和播客 学习设计 JS API 学习web开发工具 学习命令行的使用 学习 Node.js 学习 JS 模块系统 学习模块加载和打包工具 学习包管理工具 Introduction 8 学习版本控制 学习构建及任务自动化技术 学习网站性能优化 学习测试 学习无头浏览器 学习离线开发 学习网络/浏览器/应用的安全 多平台开发学习 导向学习 前端课程 前端开发学习的起点 前端资讯、新闻站和播客 成为一种切实可行的解决方案。 越来越多人着手进行 UI 的功能性、整合性测试,其中包含例如可视化 CSS 和 RWD(译 注:响应式网页设计,全称 Responsive web design)回归测试的概念。 得益于老版本 IE 使用、开发程度的大幅度降低,为浏览器 API 一致性而战的时代已离我 们远去。 2016 前端开发回顾 14 几乎人人都意识到开发网页的时候必须考虑多设备适配策略。 使用其他语言的开发者持续涌入0 码力 | 164 页 | 6.43 MB | 1 年前3
Hello 算法 1.0.0b1 JavaScript版排序列表 */ list.sort((a, b) => a - b); // 排序后,列表元素从小到大排列 4.3.2. 列表简易实现 * 为了帮助加深对列表的理解,我们在此提供一个列表的简易版本的实现。需要关注三个核心点: ‧ 初始容量:选取一个合理的数组的初始容量 initialCapacity 。在本示例中,我们选择 10 作为初始容量。 ‧ 数量记录:需要声明一个变量 size 连续内存空间 离散内存空间 数据结构长度 长度不可变 长度可变 内存使用率 占用内存少、缓存局部性好 占用内存多 优势操作 随机访问 插入、删除 � 缓存局部性的简单解释 在计算机中,数据读写速度排序是“硬盘 < 内存 < CPU 缓存”。当我们访问数组元素时,计算 机不仅会加载它,还会缓存其周围的其它数据,从而借助高速缓存来提升后续操作的执行速度。 链表则不然,计算机只能挨个地缓存各 12.1.1. 安装 VSCode 本书推荐使用开源轻量的 VSCode 作为本地 IDE ,下载并安装 VSCode 。 12.1.2. Java 环境 1. 下载并安装 OpenJDK(版本需满足 > JDK 9)。 2. 在 VSCode 的插件市场中搜索 java ,安装 Java Extension Pack 。 12.1.3. C/C++ 环境 1. Windows 系统需要安装0 码力 | 185 页 | 14.70 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版的容量有限,只能存储一小部分频繁访问的数据,因此当 CPU 尝试访问的数据不在缓存中时,就会发生缓存 未命中(cache miss),此时 CPU 不得不从速度较慢的内存中加载所需数据。 显然,“缓存未命中”越少,CPU 读写数据的效率就越高,程序性能也就越好。我们将 CPU 从缓存中成功获 取数据的比例称为缓存命中率(cache hit rate),这个指标通常用来衡量缓存效率。 为了尽可能达到更高的效率,缓存会采取以下数据加载机制。 图的深度优先遍历是一种优先走到底、无路可走时再回溯的搜索方式,常基于递归来实现。 第 9 章 图 hello‑algo.com 204 2. Q & A Q:路径的定义是顶点序列还是边序列? 维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路径是一个顶点序 列”。以下是英文版原文:In graph theory, a path in a graph is a finite or hello‑algo.com 363 16.1 编程环境安装 16.1.1 安装 IDE 推荐使用开源、轻量的 VS Code 作为本地集成开发环境(IDE)。访问 VS Code 官网,根据操作系统选择相 应版本的 VS Code 进行下载和安装。 图 16‑1 从官网下载 VS Code VS Code 拥有强大的扩展包生态系统,支持大多数编程语言的运行和调试。以 Python 为例,安装“Python0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版的容量有限,只能存储一小部分频繁访问的数据,因此当 CPU 尝试访问的数据不在缓存中时,就会发生缓存 未命中(cache miss),此时 CPU 不得不从速度较慢的内存中加载所需数据。 显然,“缓存未命中”越少,CPU 读写数据的效率就越高,程序性能也就越好。我们将 CPU 从缓存中成功获 取数据的比例称为缓存命中率(cache hit rate),这个指标通常用来衡量缓存效率。 为了尽可能达到更高的效率,缓存会采取以下数据加载机制。 搜索方式,通常借助队列实现。 ‧ 图的深度优先遍历是一种优先走到底、无路可走时再回溯的搜索方式,常基于递归来实现。 2. Q & A Q:路径的定义是顶点序列还是边序列? 维基百科上不同语言版本的定义不一致:英文版是“路径是一个边序列”,而中文版是“路径是一个顶点序 列”。以下是英文版原文:In graph theory, a path in a graph is a finite or hello‑algo.com 363 16.1 编程环境安装 16.1.1 安装 IDE 推荐使用开源、轻量的 VS Code 作为本地集成开发环境(IDE)。访问 VS Code 官网,根据操作系统选择相 应版本的 VS Code 进行下载和安装。 图 16‑1 从官网下载 VS Code VS Code 拥有强大的扩展包生态系统,支持大多数编程语言的运行和调试。以 Python 为例,安装“Python0 码力 | 379 页 | 18.47 MB | 10 月前3
共 19 条
- 1
- 2













