JavaScript 是一种广泛应用于网页开发的编程语言,以下是一些必备的重要知识点:
一、基本语法
- 变量声明
- 使用
let
、const
和var
声明变量。let
和const
是 ES6 引入的新方式,具有块级作用域,可避免变量提升带来的问题。const
声明的变量是常量,不能被重新赋值。 - 例如:
- 使用
let x = 10;
const y = 20;
- 数据类型
- 基本数据类型包括
number
(数字)、string
(字符串)、boolean
(布尔值)、null
、undefined
和symbol
(ES6 新增)。 - 引用数据类型有
object
(对象)、array
(数组)、function
(函数)等。 - 可以使用
typeof
运算符来确定变量的数据类型。 - 例如:
- 基本数据类型包括
let num = 10;
console.log(typeof num); // "number"
-
运算符
- 算术运算符:
+
、-
、*
、/
、%
等。 - 比较运算符:
==
、===
、!=
、!==
、<
、>
、<=
、>=
等。 - 逻辑运算符:
&&
(与)、||
(或)、!
(非)。 - 赋值运算符:
=
、+=
、-=
、*=
、/=
等。
- 算术运算符:
-
控制流语句
- 条件语句:
if...else
、switch...case
。 - 循环语句:
for
、while
、do...while
。 - 例如:
- 条件语句:
if (x > 0) {
console.log("Positive");
} else if (x < 0) {
console.log("Negative");
} else {
console.log("Zero");
}
二、函数
- 函数声明和表达式
- 函数可以通过函数声明或函数表达式来定义。
- 例如:
// 函数声明
function add(a, b) {
return a + b;
}
// 函数表达式
const subtract = function (a, b) {
return a - b;
};
- 参数和返回值
- 函数可以接收参数,并返回一个值。
- 参数可以有默认值,使用 ES6 的默认参数功能。
- 例如:
function multiply(a, b = 1) {
return a * b;
}
- 箭头函数
- ES6 引入的箭头函数是一种更简洁的函数定义方式。
- 例如:
const square = (x) => x * x;
三、对象和数组
- 对象
- JavaScript 中的对象是属性的集合,可以包含各种数据类型的值。
- 对象的创建可以使用对象字面量或构造函数。
- 例如:
// 对象字面量
const person = {
name: "John",
age: 30,
greet: function () {
console.log(`Hello, my name is ${this.name}.`);
},
};
// 构造函数
function Person(name, age) {
this.name = name;
this.age = age;
}
const person2 = new Person("Jane", 25);
- 数组
- 数组是一种有序的数据集合,可以存储多个值。
- 数组的操作包括访问元素、添加元素、删除元素、遍历数组等。
- 例如:
const arr = [1, 2, 3, 4, 5];
console.log(arr[0]); // 1
arr.push(6); // 添加元素
arr.pop(); // 删除最后一个元素
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
四、DOM 操作
- 文档对象模型(DOM)
- DOM 是 HTML 和 XML 文档的编程接口,可以通过 JavaScript 来操作网页的内容和结构。
- 可以使用
document
对象来访问和修改网页元素。 - 例如:
const element = document.getElementById("myElement");
element.innerHTML = "New content";
- 事件处理
- 可以为网页元素添加事件监听器,以响应用户的交互。
- 常见的事件包括点击事件、鼠标移动事件、键盘事件等。
- 例如:
document.getElementById("button").addEventListener("click", function () {
console.log("Button clicked");
});
五、异步编程
- 回调函数
- 在 JavaScript 中,异步操作通常使用回调函数来处理结果。
- 例如,使用
setTimeout
函数设置一个定时器,在定时器到期后执行回调函数。 - 例如:
setTimeout(() => {
console.log("Timeout expired");
}, 1000);
- Promise
- Promise 是一种更优雅的处理异步操作的方式,它代表了一个异步操作的最终完成或失败。
- 可以使用
then
和catch
方法来处理 Promise 的成功和失败情况。 - 例如:
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Success");
}, 1000);
});
promise.then((result) => {
console.log(result);
}).catch((error) => {
console.log(error);
});
- async/await
- async/await 是 ES8 引入的异步编程语法糖,它使异步代码看起来更像同步代码。
async
函数返回一个 Promise,可以使用await
关键字在异步操作完成之前暂停函数的执行。- 例如:
async function fetchData() {
const response = await fetch("https://api.example.com/data");
const data = await response.json();
return data;
}
以下是一个使用 JavaScript 实现网页图片轮播的案例。
HTML 结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>图片轮播</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="slider">
<div class="slide active">
<img src="image1.jpg" alt="Image 1">
</div>
<div class="slide">
<img src="image2.jpg" alt="Image 2">
</div>
<div class="slide">
<img src="image3.jpg" alt="Image 3">
</div>
<button class="prev-button">Previous</button>
<button class="next-button">Next</button>
</div>
<script src="script.js"></script>
</body>
</html>
CSS 样式(styles.css)
.slider {
position: relative;
width: 500px;
height: 300px;
overflow: hidden;
}
.slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.active {
opacity: 1;
}
.prev-button,
.next-button {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: #333;
color: #fff;
border: none;
padding: 10px 20px;
cursor: pointer;
}
.prev-button {
left: 10px;
}
.next-button {
right: 10px;
}
JavaScript 功能实现(script.js)
// 获取幻灯片元素、上一张和下一张按钮
const slides = document.querySelectorAll('.slide');
const prevButton = document.querySelector('.prev-button');
const nextButton = document.querySelector('.next-button');
let currentSlide = 0;
// 显示当前幻灯片
function showSlide(index) {
slides.forEach((slide, i) => {
if (i === index) {
slide.classList.add('active');
} else {
slide.classList.remove('active');
}
});
}
// 下一张幻灯片
function nextSlide() {
currentSlide++;
if (currentSlide >= slides.length) {
currentSlide = 0;
}
showSlide(currentSlide);
}
// 上一张幻灯片
function prevSlide() {
currentSlide--;
if (currentSlide < 0) {
currentSlide = slides.length - 1;
}
showSlide(currentSlide);
}
// 为下一张和上一张按钮添加点击事件
nextButton.addEventListener('click', nextSlide);
prevButton.addEventListener('click', prevSlide);
// 初始显示第一张幻灯片
showSlide(currentSlide);
这个案例实现了一个简单的图片轮播功能,用户可以通过点击 “上一张” 和 “下一张” 按钮切换显示的图片。
标签:function,知识点,网页,log,函数,JavaScript,currentSlide,console,const From: https://blog.csdn.net/A_cot/article/details/142324340