JavaScript
770字约3分钟
2024-11-16
JavaScript 是一种用于创建动态和交互式网页的编程语言。它是前端开发的核心技术之一,与 HTML 和 CSS 一起工作。以下是一个 JavaScript 综合语法教程,涵盖了基本语法、数据类型、控制结构、函数、对象、DOM 操作和 ES6+ 新特性等内容。
JavaScript 综合语法教程
一、基本语法
1. 变量声明
使用
var
var name = "Alice";
使用
let
和const
let age = 30; const birthYear = 1990;
2. 数据类型
原始数据类型
let number = 42; // Number let text = "Hello"; // String let isTrue = true; // Boolean let undef = undefined; // Undefined let empty = null; // Null
对象
let person = { name: "Bob", age: 25 };
3. 运算符
- 算术运算符:
+
,-
,*
,/
,%
- 比较运算符:
==
,===
,!=
,!==
,>
,<
,>=
,<=
- 逻辑运算符:
&&
,||
,!
二、控制结构
1. 条件语句
if 语句
if (age > 18) { console.log("Adult"); } else { console.log("Minor"); }
switch 语句
switch (day) { case 1: console.log("Monday"); break; case 2: console.log("Tuesday"); break; default: console.log("Other day"); }
2. 循环语句
for 循环
for (let i = 0; i < 5; i++) { console.log(i); }
while 循环
let i = 0; while (i < 5) { console.log(i); i++; }
三、函数
1. 函数声明
function greet(name) {
return "Hello, " + name;
}
console.log(greet("Alice"));
2. 函数表达式
const greet = function(name) {
return "Hello, " + name;
};
console.log(greet("Bob"));
3. 箭头函数
const greet = (name) => "Hello, " + name;
console.log(greet("Charlie"));
四、对象和数组
1. 对象
创建和访问对象
let car = { brand: "Toyota", model: "Corolla", year: 2020 }; console.log(car.brand); // Toyota
修改对象
car.year = 2021; car.color = "blue";
2. 数组
创建和访问数组
let fruits = ["Apple", "Banana", "Cherry"]; console.log(fruits[0]); // Apple
数组方法
fruits.push("Durian"); // 添加元素 fruits.pop(); // 删除最后一个元素
五、DOM 操作
1. 选择元素
通过 ID
let element = document.getElementById("header");
通过类名
let elements = document.getElementsByClassName("item");
通过选择器
let element = document.querySelector(".item"); let elements = document.querySelectorAll(".item");
2. 修改元素
修改内容和属性
element.textContent = "New Content"; element.setAttribute("class", "new-class");
修改样式
element.style.color = "red"; element.style.fontSize = "20px";
六、事件处理
1. 添加事件监听器
let button = document.querySelector("button");
button.addEventListener("click", function() {
alert("Button clicked!");
});
2. 移除事件监听器
function handleClick() {
alert("Button clicked!");
}
button.addEventListener("click", handleClick);
button.removeEventListener("click", handleClick);
七、ES6+ 新特性
1. 模板字符串
let name = "Alice";
let greeting = `Hello, ${name}!`;
console.log(greeting);
2. 解构赋值
数组解构
let [a, b, c] = [1, 2, 3];
对象解构
let { name, age } = { name: "Alice", age: 25 };
3. 扩展运算符
数组扩展
let arr1 = [1, 2, 3]; let arr2 = [...arr1, 4, 5];
对象扩展
let obj1 = { a: 1, b: 2 }; let obj2 = { ...obj1, c: 3 };
4. Promise 和异步编程
Promise
let promise = new Promise((resolve, reject) => { // 异步操作 if (success) { resolve(result); } else { reject(error); } }); promise.then(result => { console.log(result); }).catch(error => { console.error(error); });
async/await
async function fetchData() { try { let response = await fetch('https://api.example.com/data'); let data = await response.json(); console.log(data); } catch (error) { console.error(error); } } fetchData();
通过这个综合教程,您可以掌握 JavaScript 的基本和高级用法,包括变量、数据类型、控制结构、函数、对象、DOM 操作、事件处理和 ES6+ 的新特性。JavaScript 是现代 Web 开发的核心技术之一,结合 HTML 和 CSS,您可以创建动态和交互式的 Web 应用。根据您的具体需求,您可以进一步探索 JavaScript 的其他高级特性和优化技巧。