文章目录
- 一、变量和数据类型
- 二、运算符
- 三、条件语句
- 四、循环语句
- 五、函数
- 六、对象和数组
- 七、ES6+新特性
- 八、实际应用案例
JavaScript是一门广泛应用于Web开发的编程语言。掌握JavaScript语法是成为前端开发者的第一步。本文将详细介绍JavaScript的基本语法,包括变量、数据类型、运算符、条件语句、循环、函数、对象、数组、ES6+新特性等内容。通过本文,你将全面了解JavaScript语法,并能在实际开发中灵活应用。
一、变量和数据类型
- 变量声明
在JavaScript中,可以使用var
、let
和const
来声明变量。
// 使用var声明变量
var name = 'Alice';
// 使用let声明变量
let age = 25;
// 使用const声明常量
const country = 'USA';
- 数据类型
JavaScript有六种基本数据类型:number
、string
、boolean
、null
、undefined
和symbol
,以及一种复杂数据类型:object
。
let num = 10; // number
let str = 'Hello'; // string
let isTrue = true; // boolean
let empty = null; // null
let notDefined; // undefined
let symbol = Symbol(); // symbol
let obj = { // object
name: 'Alice',
age: 25
};
二、运算符
- 算术运算符
JavaScript支持基本的算术运算:加(+
)、减(-
)、乘(*
)、除(/
)、取模(%
)。
let sum = 10 + 5; // 15
let difference = 10 - 5; // 5
let product = 10 * 5; // 50
let quotient = 10 / 5; // 2
let remainder = 10 % 3; // 1
- 比较运算符
比较运算符用于比较两个值:等于(==
)、严格等于(===
)、不等于(!=
)、严格不等于(!==
)、大于(>
)、小于(<
)、大于等于(>=
)、小于等于(<=
)。
let isEqual = (10 == '10'); // true
let isStrictEqual = (10 === '10'); // false
let isNotEqual = (10 != '5'); // true
let isStrictNotEqual = (10 !== '10'); // true
let isGreater = (10 > 5); // true
let isLess = (10 < 5); // false
let isGreaterOrEqual = (10 >= 10); // true
let isLessOrEqual = (10 <= 5); // false
- 逻辑运算符
逻辑运算符用于逻辑判断:与(&&
)、或(||
)、非(!
)。
let andResult = (true && false); // false
let orResult = (true || false); // true
let notResult = !true; // false
三、条件语句
条件语句用于根据条件的真假执行不同的代码。
- if…else语句
let age = 18;
if (age >= 18) {
console.log('You are an adult.');
} else {
console.log('You are a minor.');
}
- switch语句
let color = 'red';
switch (color) {
case 'red':
console.log('Color is red.');
break;
case 'blue':
console.log('Color is blue.');
break;
default:
console.log('Color is not red or blue.');
}
四、循环语句
循环语句用于重复执行代码块。
- for循环
for (let i = 0; i < 5; i++) {
console.log(i);
}
- while循环
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
- do…while循环
let j = 0;
do {
console.log(j);
j++;
} while (j < 5);
五、函数
函数是可以重复使用的代码块。
- 函数声明
function greet(name) {
return 'Hello, ' + name;
}
console.log(greet('Alice'));
- 函数表达式
const greet = function(name) {
return 'Hello, ' + name;
};
console.log(greet('Bob'));
函数声明:使用function
关键字直接定义一个有名字的函数,支持提升。
函数表达式:使用function
关键字将函数赋值给一个变量,可以是匿名函数或具名函数,不支持提升。
- 箭头函数
const greet = (name) => 'Hello, ' + name;
console.log(greet('Charlie'));
六、对象和数组
- 对象
对象是键值对的集合。
let person = {
name: 'Alice',
age: 25,
greet: function() {
return 'Hello, ' + this.name;
}
};
console.log(person.greet());
- 数组
数组是有序的元素集合。
let fruits = ['Apple', 'Banana', 'Cherry'];
console.log(fruits[0]); // Apple
fruits.push('Date');
console.log(fruits); // ['Apple', 'Banana', 'Cherry', 'Date']
七、ES6+新特性
- let和const
let
和const
是ES6引入的用于声明变量的关键字。与var
不同,let
和const
具有块级作用域。
let x = 10;
const y = 20;
if (true) {
let x = 30; // 块级作用域内的x
console.log(x); // 30
}
console.log(x); // 10
- 模板字符串
模板字符串使用反引号(`` `)来定义,可以包含表达式。
let name = 'Alice';
let greeting = `Hello, ${name}!`;
console.log(greeting); // Hello, Alice!
- 解构赋值
解构赋值允许从数组或对象中提取值,赋值给变量。
let [a, b] = [1, 2];
console.log(a, b); // 1 2
let {name, age} = {name: 'Alice', age: 25};
console.log(name, age); // Alice 25
- 默认参数
默认参数允许在函数参数中设置默认值。
function greet(name = 'Guest') {
return `Hello, ${name}!`;
}
console.log(greet()); // Hello, Guest!
console.log(greet('Alice')); // Hello, Alice!
- 箭头函数
箭头函数语法更简洁,并且不会绑定this
。
const add = (a, b) => a + b;
console.log(add(1, 2)); // 3
八、实际应用案例
案例一:计算数组中所有元素的总和
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 15
案例二:使用对象和数组管理用户数据
let users = [
{name: 'Alice', age: 25},
{name: 'Bob', age: 30},
{name: 'Charlie', age: 35}
];
users.forEach(user => {
console.log(`${user.name} is ${user.age} years old.`);
});
案例三:创建一个简单的计时器
function startTimer(duration) {
let timer = duration, minutes, seconds;
setInterval(() => {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
console.log(`${minutes}:${seconds}`);
if (--timer < 0) {
timer = duration;
}
}, 1000);
}
startTimer(5 * 60); // 启动一个5分钟的计时器
推荐:
- JavaScript
- react
- vue