【JavaScript 语法结构】
JavaScript 语法由 表达式、语句、变量、运算符、控制流、函数 等核心构件组成,采用类 C 语言的语法风格(分号可选,代码块用 {}
包裹)。
一、基础语法单元
类型 | 说明 | 示例 |
---|
变量声明 | 使用 let (可变)/ const (不可变) | let age = 25; const PI = 3.14; |
标识符 | 变量/函数命名规则(字母/_/$开头) | userName , _count , $element |
注释 | 单行 // ,多行 /* */ | // 计算总和 /* 用户验证模块 */ |
分号 | 语句结束符(可选但推荐) | console.log('Hello'); |
二、数据类型与字面量
类型 | 示例 | 特性 |
---|
原始类型 | 'text' (字符串) 42 (数字) true/false (布尔) null (空值) undefined (未定义) Symbol('id') (唯一标识) | 不可变 |
对象类型 | { name: 'Alice' } (对象) [1, 2, 3] (数组) function() {} (函数) | 可变,按引用传递 |
模板字面量 | `Hello ${name}!` | 支持插值和多行字符串 |
三、核心语法结构
1. 运算符
let sum = 10 + 5 * 2;
console.log(3 > 2);
const isValid = true && !false;
const status = age >= 18 ? '成人' : '未成年';
2. 控制流
if (score >= 90) {grade = 'A';
} else if (score >= 60) {grade = 'C';
} else {grade = 'D';
}
switch (day) {case 1: console.log('周一'); break;default: console.log('周末');
}
for (let i = 0; i < 5; i++) { }
while (condition) { }
3. 函数
function add(a, b) {return a + b;
}
const multiply = (x, y) => x * y;
(function() {console.log('初始化');
})();
四、特殊语法结构
1. 对象操作
const user = {name: 'John',age: 30,greet() { console.log(`Hi, ${this.name}`) }
};
const { name, age } = user;
2. 数组操作
const nums = [1, 2, 3];
const newArr = [...nums, 4];
nums.map(n => n * 2);
3. 异步处理
fetch(url).then(response => response.json()).catch(error => console.error(error));
async function loadData() {try {const data = await fetch(url);return data;} catch (e) {}
}
五、语法特性对比表
特性 | JS 语法 | 其他语言参考 |
---|
变量作用域 | let/const 块级作用域 | Python:函数作用域 |
类型转换 | 弱类型:'5' + 2 = '52' | Java:强类型编译报错 |
相等比较 | == (类型转换) vs === (严格) | Python:== 无类型转换 |
继承机制 | 原型链继承 | Java:类继承 |
🚀 最佳实践
- 始终使用
let/const
替代 var
- 优先
===
比较 避免隐式转换陷阱 - 函数参数默认值
function greet(name = 'Guest') { }
- 模块化组织代码(ES6 Modules)
export const PI = 3.14;
import { PI } from './math.js';
💡 关键思维:JavaScript 的灵活性来自其 动态类型 + 原型继承 + 函数式特性,但也需注意避免因弱类型导致的常见陷阱(如 0 == false
为 true
)。