Hello 算法 1.0.0 JavaScript版、hpstory、justin‑tse、krahets、night‑cruise、 nuomi1 和 Reanon 完成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代 码的规范与统一。 在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者 3.4.1 ASCII 字符集 「ASCII 码」是最早出现的字符集,其全称为 American Standard Code for Information Interchange(美 国标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不 同的字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符 com 60 图 3‑6 ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生了一种能够表示更多语言的「EASCII」字符 集。它在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。 在世界范围内,陆续出现了一批适用于不同地区的 EASCII 字符集。这些字符集的前 128 个字符统一为 ASCII 码,后 128 个字符定义不同,以适应不同语言的需求。0 码力 | 376 页 | 17.57 MB | 1 年前3
Hello 算法 1.0.0b1 JavaScript版0; 5.1.2. 栈的实现 为了更加清晰地了解栈的运行机制,接下来我们来自己动手实现一个栈类。 栈规定元素是先入后出的,因此我们只能在栈顶添加或删除元素。然而,数组或链表都可以在任意位置添加删 除元素,因此 栈可被看作是一种受约束的数组或链表。换言之,我们可以“屏蔽”数组或链表的部分无关操 作,使之对外的表现逻辑符合栈的规定即可。 基于链表的实现 使用「链表」实现栈时,将链表的头结点看作栈顶,将尾结点看作栈底。 数组、链表 输入数据要求 无 有序 无 平均时间复杂度查找 / 插入 / 删 除 ?(?) / ?(1) / ?(?) ?(log ?) / ?(?) / ?(?) ?(1) / ?(1) / ?(1) 10. 查找算法 hello‑algo.com 159 线性查找 二分查找 哈希查找 最差时间复杂度查找 / 插入 / 删 除 ?(?) / ?(1) / ?(?) ?(log ?) / ?( Algorithm」使得列表中的所有元素按照从小到大的顺序排列。 ‧ 待排序的列表的 元素类型 可以是整数、浮点数、字符、或字符串; ‧ 排序算法可以根据需要设定 判断规则,例如数字大小、字符 ASCII 码顺序、自定义规则; Figure 11‑1. 排序中不同的元素类型和判断规则 11.1.1. 评价维度 排序算法主要可根据 稳定性、就地性、自适应性、比较类 来分类。 稳定性 ‧「稳定排序」在完成排序后,不改变0 码力 | 185 页 | 14.70 MB | 1 年前3
2019-2021 美团技术年货 前端篇Framework、Flutter_Web_SDK(Flutter_Web_SDK 基 于 HTML、 Canvas,承载 HTML Render 模式的具体实现)等底层 SDK 是可被业务代 码直接引入的,帮助我们快速开发出跨端应用; ● flutter_tools 是各平台(Android、iOS、Web)的编译入口,它接收 flutter build web 命令和参数并开始编 发过程中,大多是以源码的方式进 行开发,所以我们将实验对象设置为基于全源码编译的流程。 废话不多说,我们来看看它的实际使用效果! 总 的 来 说, 以 美 团 和 大 众 点 评 的 全 源 码 编 译 流 程 为 实 验 对 象 的 前 提 下,co- coapods-hmap-prebuilt 插件能将总链路提升 45% 以上的速度,在 Xcode 打包 环节上能提升 50% 以上的速度,是不是有点动心了? 但你得知道 iAd 还会依赖 UIKit 这样的组件,这可是个 400KB+ 的大家伙 所以,怎么说呢? 在 Mail App 里的所有代码都需要先涵盖这将近 425KB 的头文件内容,即使你的代 码只有一行 Hello World。 如果你认为这已经让人很沮丧的话,那还有更打击你的消息,因为 UIKit 相比于 macOS 上的 Cocoa 系列大礼包,真的小太多了,Cocoa 系列大礼包可是0 码力 | 738 页 | 50.29 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版展示了原码、反码和补码之间的转换方法。 图 3‑4 原码、反码与补码之间的相互转换 原码(sign‑magnitude)虽然最直观,但存在一些局限性。一方面,负数的原码不能直接用于运算。例如在原 码下计算 1 + (−2) ,得到的结果是 −3 ,这显然是不对的。 1 + (−2) → 0000 0001 + 1000 0010 = 1000 0011 → −3 为了解决此问题,计算机引入了反码(1’s 二进制数到字符的转换。 3.4.1 ASCII 字符集 ASCII 码是最早出现的字符集,其全称为 American Standard Code for Information Interchange(美国 标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不同的 字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符(如 com 60 图 3‑6 ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生了一种能够表示更多语言的 EASCII 字符集。它 在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。 在世界范围内,陆续出现了一批适用于不同地区的 EASCII 字符集。这些字符集的前 128 个字符统一为 ASCII 码,后 128 个字符定义不同,以适应不同语言的需求。0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版展示了原码、反码和补码之间的转换方法。 图 3‑4 原码、反码与补码之间的相互转换 原码(sign‑magnitude)虽然最直观,但存在一些局限性。一方面,负数的原码不能直接用于运算。例如在原 码下计算 1 + (−2) ,得到的结果是 −3 ,这显然是不对的。 1 + (−2) → 0000 0001 + 1000 0010 = 1000 0011 → −3 为了解决此问题,计算机引入了反码(1’s 二进制数到字符的转换。 3.4.1 ASCII 字符集 ASCII 码是最早出现的字符集,其全称为 American Standard Code for Information Interchange(美国 标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不同的 字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符(如 com 60 图 3‑6 ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生了一种能够表示更多语言的 EASCII 字符集。它 在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。 在世界范围内,陆续出现了一批适用于不同地区的 EASCII 字符集。这些字符集的前 128 个字符统一为 ASCII 码,后 128 个字符定义不同,以适应不同语言的需求。0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.0.0b5 JavaScript版「ASCII 码」是最早出现的字符集,全称为“美国标准信息交换代码”。它使用 7 位二进制数(即一个字节的 低 7 位)表示一个字符,最多能够表示 128 个不同的字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、 数字 0 ~ 9、一些标点符号,以及一些控制字符(如换行符和制表符)。 第 3 章 数据结构 hello‑algo.com 57 图 3‑6 ASCII 码 然而,ASCII 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生了一种能够表示更多语言的字符集「EASCII」。 它在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。 在世界范围内,陆续出现了一批适用于不同地区的 EASCII 字符集。这些字符集的前 128 个字符统一为 ASCII 码,后 128 个字符定义不同,以适应不同语言的需求。 3.4.2 GBK 字符集 后来人们发现,EASCII 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。比如汉字大约有近十万个,光日常使用 的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满足 了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。「GBK」字符集是在 GB2312 的基础上扩展得到的,它共收 录了 21886 个汉字。在 GBK 的编码方案中,ASCII0 码力 | 375 页 | 30.68 MB | 1 年前3
阮一峰 JavaScript 教程都是编译后运行。程序会被高度优化,运行效率接 近二进制程序。而且,JavaScript 引擎正在快速发展,性能将越来 越好。 此外,还有一种 WebAssembly 格式,它是 JavaScript 引擎的中 间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近 强大的性能 导论 - 15 - 本文档使用 书栈(BookStack.CN) 构建 原生二进制代码的运行速度。各种语言(主要是 C 和 了。读者可以一边读一边运行示例,加深理解。 推荐安装 Chrome 浏览器,它的“开发者工具”(Developer Tools)里面的“控制台”(console),就是运行 JavaScript 代 码的理想环境。 进入 Chrome 浏览器的“控制台”,有两种方法。 直接进入:按下 Option + Command + J (Mac)或者 Ctrl + Shift + J (Windows (Mac)以及 Ctrl + Shift + I (Windows / Linux),然后选择 Console 面板 进入控制台以后,就可以在提示符后输入代码,然后按 Enter 键,代 码就会执行。如果按 Shift + Enter 键,就是代码换行,不会触发执 行。建议阅读本教程时,将代码复制到控制台进行实验。 作为尝试,你可以将下面的程序复制到“控制台”,按下回车后,就可以0 码力 | 540 页 | 3.32 MB | 10 月前3
[试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 ECMAScript 变量分为全局变量和局部变量,且二者的定义方式、作用域及使用用法 有明显区别。 下 面 , 来 看 一 个 声 明 ECMAScript 变 量 的 代 码 示 例 ( 详 见 源 代 码 ch02 目 录 中 23 第 2 章 ECMAScript 语法基础 ch02-js-variable.html 文件)。 【代码 2-1】 01 关于【代码 2-20】的分析如下: 这 段 代 码 直 接 在 浏 览 器 控 制 台 窗 口 中 输 出 了 Number.POSITIVE_INFINITY 和 Number.NEGATIVE_INFINITY 这两个特殊值的内容。 420 码力 | 52 页 | 3.83 MB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版build babel-node babel-cli 工具自带一个 babel-node 命令,提供一个支持ES6的REPL环境。 它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。 它不用单独安装,而是随 babel-cli 一起安装。然后,执行 babel-node 就进入 REPL环境。 $ babel-node > (x => x * 2)(1) 2 babel-node 的支持,并且扩展了字符串对象。 字符的 Unicode 表示法 JavaScript 允许采用 \uxxxx 形式表示一个字符,其中 xxxx 表示字符的 Unicode 码点。 "\u0061" // "a" 但是,这种表示法只限于码点在 \u0000 ~ \uFFFF 之间的字符。超出这个范围的 字符,必须用两个双字节的形式表示。 "\uD842\uDFB7" // "" "\u20BB7" \u20BB7 ),JavaScript会理解成 \u20BB+7 。由于 \u20BB 是一个不可打印 字符,所以只会显示一个空格,后面跟着一个 7 。 ES6 对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。 字符串的扩展 63 "\u{20BB7}" // "" "\u{41}\u{42}\u{43}" // "ABC" let hello = 123;0 码力 | 679 页 | 2.66 MB | 1 年前3
廖雪峰JavaScript教程apple 排在了最后,是因为字符串根据ASCII码进行排序,而小写字母 a 的ASCII 码在大写字母之后。 第三个排序结果是什么鬼?简单的数字排序都能错? 这是因为 Array 的 sort() 方法默认把所有元素先转换为String再排序,结果 '10' 排在 了 '2' 的前面,因为字符 '1' 比字符 '2' 的ASCII码小。 如果不知道 sort() 方法的默认 id="test-canvas" width="300" height="200"> 由于浏览器对HTML5标准支持不一致,所以,通常在 <canvas> 内部添加一些说明性HTML代 码,如果浏览器支持Canvas,它将忽略 <canvas> 内部的HTML,如果浏览器不支持 Canvas,它将显示 <canvas> 内部的HTML: 1.0 码力 | 264 页 | 2.81 MB | 10 月前3
共 15 条
- 1
- 2













