阮一峰 JavaScript 教程目 录 致谢 介绍 前言 入门篇 导论 历史 基本语法 数据类型 概述 null,undefined 和布尔值 数值 字符串 对象 函数 数组 运算符 算术运算符 比较运算符 布尔运算符 二进制位运算符 其他运算符,运算顺序 语法专题 数据类型的转换 错误处理机制 编程风格 console 对象与控制台 标准库 Object 对象 属性描述对象 有很大的相似性,所以这门语言才从一开始的 LiveScript 改名为 JavaScript。基本上,JavaScript 这个名 字的原意是“很像Java的脚本语言”。 JavaScript 语言的函数是一种独立的数据类型,以及采用基于原型 对象(prototype)的继承链。这是它与 Java 语法最大的两点区 别。JavaScript 语法要比 Java 自由得多。 另外,Java 语言需要编译,而 JavaScript 书栈(BookStack.CN) 构建 数据类型 概述 null,undefined 和布尔值 数值 字符串 对象 函数 数组 数据类型 数据类型 - 54 - 本文档使用 书栈(BookStack.CN) 构建 概述 数据类型概述 简介 typeof 运算符 参考链接 JavaScript 语言的每一个值,都属于某一种数据类型。 JavaScript 的数据类型,共有六种。(ES60 码力 | 540 页 | 3.32 MB | 10 月前3
廖雪峰JavaScript教程目 录 致谢 JavaScript教程 1 JavaScript简介 2 快速入门 2.1 基本语法 2.2 数据类型和变量 2.3 字符串 2.4 数组 2.5 对象 2.6 条件判断 2.7 循环 2.8 Map和Set 2.9 iterable 3 函数 3.1 函数定义和调用 3.2 变量作用域 3.3 方法 3.4 高阶函数 3.4.1 map/reduce 本文档使用 书栈(BookStack.CN) 构建 2.2 数据类型和变量 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是, 计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数 据,需要定义不同的数据类型。在JavaScript中定义了以下几种数据类型: JavaScript不区分整数和浮点数,统一用Numb 10.5 % 3; // 1.5 注意 % 是求余运算。 字符串是以单引号'或双引号"括起来的任意文本,比如 'abc' , "xyz" 等等。请注 数据类型和变量 数据类型 Number 字符串 2.2 数据类型和变量 - 16 - 本文档使用 书栈(BookStack.CN) 构建 意, '' 或 "" 本身只是一种表示方式,不是字符串的一部分,因此,字符串 'abc'0 码力 | 264 页 | 2.81 MB | 10 月前3
[试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 。 一般都是通过“var”关键字来定义变量,且定义的均是无特定类型的变量(也称为弱类型)。 因此,ECMAScript 变量可以初始化为任意类型的值,且可以随时改变变量的数据类型。当然, 我们不建议随意改变变量的数据类型,建议初始化成什么类型就一直沿用该类型,避免不必要 的麻烦。 2.2.2 变量的声明 ECMAScript 规范中规定通过“var”(单词 variable 的缩写)关键字来定义声明的变量, 图 2.1 ECMAScript 变量声明 2.2.3 改变变量数据类型 我们在前文中介绍了 ECMAScript 变量弱类型的特点,因此 ECMAScript 规范允许改变 ECMAScript 变量的数据类型。简单来说,就是初始化一个 ECMAScript 变量时为一种数据类 型,后面还可以改变该变量的数据类型。这对于使用强类型变量的 C 语言的用户和 Java 语言 来说,是有点不可思议的,不过这也恰恰体现了 来说,是有点不可思议的,不过这也恰恰体现了 JavaScript 脚本语言的灵活性。 下面来看一个改变 ECMAScript 变量数据类型的代码示例(详见源代码 ch02 目录中 24 15 天学会 JavaScript(视频教学版) ch02-js-variable-revise.html 文件)。 【代码 2-2】 010 码力 | 52 页 | 3.83 MB | 1 年前3
Hello 算法 1.1.0 JavaScript版3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . 码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 379 页 | 18.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 JavaScript 版3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . 码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.0.0 JavaScript版3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.3 数字编码 * . . . 码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 度进行调整。 � 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 376 页 | 17.57 MB | 1 年前3
Hello 算法 1.0.0b5 JavaScript版3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.3 数字编码 * . . . 代码。 0.1.2 内容结构 本书主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度、空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 对其长度进行调整。 � 如果你感觉物理结构理解起来有困难,建议先阅读下一章“数组与链表”,然后再回顾本节内 容。 3.2 基本数据类型 谈及计算机中的数据,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织形式 各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种类型。 ‧ 整数类型 byte、short、int、long0 码力 | 375 页 | 30.68 MB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版上面代码中,两个运算结果的最后一位有效数字是有差异的。 Integer 数据类型 简介 JavaScript 所有数字都保存成64位浮点数,这决定了整数的精确程度只能到53个二 进制位。大于这个范围的整数,JavaScript 是无法精确表示的,这使得 JavaScript 不适合进行科学和金融方面的精确计算。 现在有一个提案,引入了新的数据类型 Integer(整数),来解决这个问题。整数类 型的数 这个小数部分会丢失;如 果返回 Number 类型,会超过 53 位精确数字,精度下降。 相等运算符( == )会改变数据类型,也是不允许混合使用。 0n == 0 // 报错 TypeError 0n == false // 报错 TypeError 精确相等运算符( === )不会改变数据类型,因此可以混合使用。 0n === 0 // false 数值的扩展 127 函数的扩展 函数参数的默认值 key2 没有。 对象的扩展 195 Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符( == )和严格相等运算 符( === )。它们都有缺点,前者会自动转换数据类型,后者的 NaN 不等于自 身,以及 +0 等于 -0 。JavaScript 缺乏一种运算,在所有环境中,只要两个值是 一样的,它们就应该相等。 ES6 提出“Same-value0 码力 | 679 页 | 2.66 MB | 1 年前3
Hello 算法 1.0.0b1 JavaScript版0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法 right = buildTree(n - 1); return root; } Figure 2‑13. 满二叉树产生的指数阶空间复杂度 对数阶 ?(log ?) 对数阶常见于分治算法、数据类型转换等。 例如「归并排序」,长度为 ? 的数组可以形成高度为 log ? 的递归树,因此空间复杂度为 ?(log ?) 。 再例如「数字转化为字符串」,输入任意正整数 ? ,它的位数为 log10 (?) , ?(?2) , ?(2?) 。 37 3. 数据结构简介 3.1. 数据与内存 3.1.1. 基本数据类型 谈到计算机中的数据,我们能够想到文本、图片、视频、语音、3D 模型等等,这些数据虽然组织形式不同,但 都是由各种基本数据类型构成的。 「基本数据类型」是 CPU 可以直接进行运算的类型,在算法中直接被使用。 ‧「整数」根据不同的长度分为 byte, short, int0 码力 | 185 页 | 14.70 MB | 1 年前3
ECMAScript规范 第三版 中文版e]]只能返回原语值。如果是实现其自己的 [[DefaultValue]]方法宿主的对象,必须保证[[DefaultValue]]只能返回原语值。 8.7 引用类型 内部引用类型不是语言的数据类型。在本规范中定义它是为了说明要旨。 ECMAScript 实 现的产生和操作内部属性的行为必须是 这里所描述的方法。而且,类型 Reference 的值仅被 用 于表达式求值的中间值,且不能被对象的属性存储。 内部列表类型不是语言的数据类型。在本规范中定义它是为了说明要旨。 ECMAScript 实 现的产生和操作内部属性的行为必须是 这里所描述的方法。而且,类型 List 的值仅被 用于表 达式求值的中间值,且不能被对象的属性存储。 列表类型被用于解释参数列表的求值(参见 11.2.4)。列表类的值是简单的已排序值的序列。 这些序列可以是任何长度。 8.9 完结类型 内部完结类型不是语言的数据类型。在本规范中定义它是为了说明要旨。0 码力 | 58 页 | 563.06 KB | 1 年前3
共 12 条
- 1
- 2













