JavaScript 是一种多范式的动态语言,它包含类型、运算符、标准内置(built-in)对象和方法。它的语法来源于 Java 和 C,所以这两种语言的许多语法特性同样适用于 JavaScript。JavaScript 通过原型链而不是类来支持面向对象编程(有关 ES6 类的内容参考这里Classes,有关对象原型参考见此继承与原型链)。JavaScript 同样支持函数式编程——因为它们也是对象,函数也可以被保存在变量中,并且像其他对象一样被传递。
Number(数字)
String(字符串)
Boolean(布尔)
Symbol(符号)(ES2015 新增)
Object(对象)
Function(函数)
Array(数组)
Date(日期)
RegExp(正则表达式)
null(空)
undefined(未定义)
数字
根据语言规范,JavaScript 采用“遵循 IEEE 754 标准的双精度 64 位格式”("double-precision 64-bit format IEEE 754 values")表示数字。——在 JavaScript(除了BigInt)当中,**并不存在整数/整型 (Integer)。
数字
JavaScript 中的字符串是一串Unicode 字符序列。这对于那些需要和多语种网页打交道的开发者来说是个好消息。更准确地说,它们是一串 UTF-16 编码单元的序列,每一个编码单元由一个 16 位二进制数表示。每一个 Unicode 字符由一个或两个编码单元来表示。
如果想表示一个单独的字符,只需使用长度为 1 的字符串。
其它类型
与其他类型不同,JavaScript 中的 null 表示一个空值(non-value),必须使用 null 关键字才能访问,undefined 是一个“undefined(未定义)”类型的对象,表示一个未初始化的值,也就是还没有被分配的值。我们之后再具体讨论变量,但有一点可以先简单说明一下,JavaScript 允许声明变量但不对其赋值,一个未被赋值的变量就是 undefined 类型。还有一点需要说明的是,undefined 实际上是一个不允许修改的常量。
JavaScript 包含布尔类型,这个类型的变量有两个可能的值,分别是 true 和 false(两者都是关键字)。根据具体需要,JavaScript 按照如下规则将变量转换成布尔类型:
- false、0、空字符串("")、NaN、null 和 undefined 被转换为 false
- 所有其他值被转换为 true
变量
在 JavaScript 中声明一个新变量的方法是使用关键字 let 、const 和 var:
let
语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值。
运算符
JavaScript 的算术操作符包括 +
、-
、*
、/
和 %
——求余(与模运算相同 (en-US))。赋值使用 =
运算符,此外还有一些复合运算符,如 +=
和 -=
,它们等价于 x = x operator y
。
数组
JavaScript 中的数组是一种特殊的对象。它的工作原理与普通对象类似(以数字为属性名,但只能通过[]
来访问),但数组还有一个特殊的属性——length
(长度)属性。这个属性的值通常比数组最大索引大 1。
乘法表 public class MultiTabble { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { String line = ""; for (int j = 1; j <= 9; j++) { line += i + "*" + j + "=" + i * j + "\t"; } System.out.println(line); } } }