Skip to content

JavaScript 语法

JavaScript 语法是指规定 JavaScript 程序如何构建和编写的一套规则。

计算机程序是计算机执行的一系列指令。

在像 JavaScript 这样的编程语言中,这些指令被称为“语句”(statements)。

JavaScript 语句通常用分号 (;) 分隔,尽管存在“自动分号插入”(Automatic Semicolon Insertion - ASI),但显式使用分号是推荐的做法。

const x = 5;
const y = 6;
const z = x + y;
在 Web 开发环境中,JavaScript 程序由 Web 浏览器中的 JavaScript 引擎或像 Node.js 这样的运行时环境执行。

JavaScript 语句由以下部分组成:

  • **值:**诸如数字或字符串之类的数据。
  • **运算符:**对值执行操作的符号(例如,+、-、*、/、=)。
  • **表达式:**值、变量和运算符的组合,计算后得到一个新值。
  • **关键词:**具有特殊含义的保留字(例如,let、const、function、if)。
  • **注释:**被解释器忽略的文本,用于解释说明。

JavaScript 语法定义了两种主要类型的值:

  • **字面量:**直接写在代码中的固定值。
  • **变量:**值的命名存储位置,在程序执行期间可以改变。

字面量代表代码中的固定值。主要示例包括:

数字可以是整数或浮点数(带小数):

10.50
1001
3.14e5 // 科学记数法 (3.14 * 10^5)

字符串是字符序列,用单引号 ('...')、双引号 ("...") 或反引号(模板字面量:`...`)括起来:

"John Doe"
'Jane Smith'
`Hello, world!`

布尔值代表 true 或 false:

true
false

数组是值的有序列表:

[10, 20, "Apple", true]

对象是键值对的集合:

{ firstName: "John", lastName: "Doe", age: 30 }

变量用于存储数据值,可以在程序中引用和操作。

JavaScript 使用 let、const (以及旧的 var)关键词来声明变量。

等号 (=) 用作赋值运算符,将值赋给变量。

在此示例中,x 被声明为一个变量,然后赋值为 6:

let x;
x = 6;

你也可以在声明变量时对其进行初始化:

const message = "Hello!";

JavaScript 使用各种运算符:

赋值运算符 (=) 用于赋值:

let count = 10;

算术运算符(+、-、*、/,以及 % 用于取模)用于执行计算:

const sum = (5 + 6) * 10;

比较运算符(==、===、!=、!==、>、<、>=、<=)用于比较值。

逻辑运算符(&& 表示 AND,|| 表示 OR,! 表示 NOT)用于组合或反转布尔值。

关键词是 JavaScript 中的保留字,具有特殊含义,定义了语言的结构和规则。

let 关键词告诉浏览器创建一个新的块级作用域变量。const 关键词创建一个块级作用域常量:

let score = 0;
const pi = 3.14159;

(常用关键词列表可在“JavaScript 语句”章节中找到。)

并非所有 JavaScript 语句都会被执行。

双斜杠 // 之后(单行注释)或 /* 和 */ 之间(多行注释)的代码被视为注释。

注释会被 JavaScript 引擎忽略,用于添加解释或暂时禁用代码:

let x = 5; // 这是一个解释变量的单行注释。
/*
这是一个
多行注释。
它可以跨越多行。
*/
// const y = 10; // 这行代码被注释掉了,不会运行。

所有 JavaScript 标识符(变量名、函数名等)都区分大小写。

变量 lastName 和 lastname 是两个不同的变量:

let lastName = "Doe";
let lastname = "Peterson";
console.log(lastName); // 输出:Doe
console.log(lastname); // 输出:Peterson

JavaScript 关键词也区分大小写,并且必须小写(例如,let,而不是 Let 或 LET)。

当命名由多个单词组成的变量或函数时,存在多种命名约定。在 JavaScript 中,**驼峰命名法(camelCase)**是最常见和推荐的约定。

在驼峰命名法中:

  • 第一个单词以小写字母开头。
  • 后续单词以大写字母开头。
  • 没有空格或连字符。

驼峰命名法的示例:

let firstName;
let lastName;
const masterCardNumber;
function calculateTotalAmount() { /* ... */ }

你可能会遇到的其他命名风格(但在 JavaScript 变量/函数命名中不太常见):

  • **帕斯卡命名法(PascalCase,或称大驼峰命名法 UpperCamelCase):**每个单词都以大写字母开头(例如,FirstName、MasterCard)。在 JavaScript 中常用于类名。
  • **下划线命名法(snake_case):**单词用下划线分隔,全部小写(例如,first_name、master_card)。
  • **烤串命名法(kebab-case):**单词用连字符分隔,全部小写(例如,first-name、master-card)。连字符在 JavaScript 变量/函数名中是不允许的,因为 - 是减法运算符。烤串命名法在 HTML 和 CSS 中很常见。
始终使用驼峰命名法可以使你的 JavaScript 代码更易于阅读和维护。

JavaScript 使用 Unicode 字符集。

Unicode 允许你在字符串和注释中使用各种语言的广泛字符和符号。对于标识符(变量名、函数名),最佳实践是坚持使用 ASCII 字符(字母、数字、下划线、美元符号),以获得更广泛的兼容性和可读性,尽管技术上允许使用 Unicode 字母。

有关更多详细信息,你可以查阅官方的 Unicode 标准文档。