1. JavaScript语句基础与核心概念
JavaScript作为现代Web开发的基石语言,其语句体系构成了程序逻辑的骨架。理解这些基础构建块对于编写高效、可维护的代码至关重要。让我们从最基础的变量声明开始,逐步深入JavaScript的语句世界。
1.1 变量声明:从var到const的演进
在ES6之前,JavaScript只有var一种变量声明方式,这导致了许多意料之外的行为:
javascript复制function varExample() {
console.log(x); // 输出undefined而非报错
var x = 5;
console.log(x); // 输出5
}
这种"变量提升"现象常常让初学者困惑。ES6引入的let和const通过块级作用域解决了这个问题:
javascript复制function letExample() {
// console.log(y); // 这里会报错,与var不同
let y = 10;
console.log(y); // 输出10
if (true) {
let y = 20; // 不同的块级作用域
console.log(y); // 输出20
}
console.log(y); // 输出10
}
重要实践建议:在现代JavaScript开发中,默认使用
const声明变量,只有当确实需要重新赋值时才使用let,基本可以完全避免使用var。这能显著减少作用域相关的问题。
1.2 赋值操作:不只是简单的等号
赋值语句看似简单,但JavaScript提供了多种复合赋值运算符,可以简化代码:
javascript复制let count = 0;
count += 5; // 等同于 count = count + 5
count *= 2; // 等同于 count = count * 2
count++; // 后置递增
++count; // 前置递增
特别要注意的是解构赋值,这是ES6引入的强大特性:
javascript复制// 数组解构
const [first, second] = [10, 20];
// 对象解构
const {name, age} = {name: 'Alice', age: 25};
// 函数参数解构
function greet({name, age}) {
console.log(`Hello, ${name}! You are ${age} years old.`);
}
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 流程控制:程序决策的艺术
2.1 条件语句:if与switch的抉择
if...else是条件判断的基础,但有几个细节值得注意:
javascript复制if (condition) {
// 当condition为truthy时执行
} else if (anotherCondition) {
// 当第一个条件不满足且anotherCondition为truthy时执行
} else {
// 当前面条件都不满足时执行
}
关键点:JavaScript中,以下值会被视为falsy:false、0、""、null、undefined、NaN,其他所有值都是truthy。
switch语句适用于多个明确值的比较:
javascript复制switch(expression) {
case value1:
// 代码块
break;
