JavaScript是一种轻量级、解释型或即时编译型的编程语言。它最初是作为HTML网页的脚本语言而设计的,用于在网页上实现动态内容和交互效果。如今,JavaScript已经发展成为一种功能强大、应用广泛的语言,可用于前端开发、后端开发(如Node.js)、移动应用开发(如React Native)以及桌面应用开发等。
DOM(Document Object Model)是 HTML 和 XML 文档的编程接口,它允许 JavaScript 动态访问和更新网页内容。
操作类型 | 示例代码 | 说明 |
---|---|---|
获取元素 | let element = document.getElementById('id'); | 通过元素的ID获取DOM元素 |
修改内容 | element.innerHTML = "新内容"; | 修改元素的HTML内容 |
添加事件监听 | element.addEventListener('click', function() { ... }); | 为元素添加事件监听器,如点击事件 |
修改样式 | element.style.color = 'red'; | 修改元素的CSS样式 |
JavaScript 的异步请求技术,如 AJAX(Asynchronous JavaScript and XML),允许网页在不重新加载的情况下与服务器进行数据交换。
技术类型 | 示例代码 | 说明 |
---|---|---|
Fetch API | fetch('https://api.example.com/data') | 发起一个 HTTP请求,获取数据 |
XMLHttpRequest | let xhr = new XMLHttpRequest();<br>xhr.open('GET', 'https://api.example.com/data'); | 使用XMLHttpRequest对象发起请求 |
JavaScript 提供了 setTimeout 和 setInterval 方法,用于设置延时操作和周期性操作。
方法名 | 示例代码 | 说明 |
---|---|---|
setTimeout | setTimeout(function() { ... }, 1000); | 1秒后执行一次指定函数 |
setInterval | setInterval(function() { ... }, 1000); | 每隔1秒执行一次指定函数 |
案例说明 本案例将展示一个简易的待办事项列表应用。用户可以在输入框中输入任务,点击添加按钮后,任务将出现在列表中。每个任务旁边有一个删除按钮,点击后可以删除对应的任务。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>待办事项列表</title>
<style>
/* 简单的样式 */
body { font-family: Arial, sans-serif; }
#taskList { list-style-type: none; padding: 0; }
.taskItem { display: flex; justify-content: space-between; padding: 8px; border-bottom: 1px solid #ccc; }
.deleteButton { cursor: pointer; color: red; }
</style>
</head>
<body>
<h1>待办事项列表</h1>
<input type="text" id="taskInput" placeholder="输入任务">
<button id="addButton">添加</button>
<ul id="taskList"></ul>
<script src="script.js"></script>
</body>
</html>
// 获取 HTML 元素
let taskInput = document.getElementById('taskInput');
let addButton = document.getElementById('addButton');
let taskList = document.getElementById('taskList');
// 添加任务按钮的点击事件监听器
addButton.addEventListener('click', function() {
// 获取输入框中的任务内容
let taskText = taskInput.value.trim();
// 如果任务内容不为空,则添加到列表中
if (taskText) {
// 创建一个新的列表项元素
let listItem = document.createElement('li');
listItem.classList.add('taskItem');
// 创建任务文本节点和删除按钮
let taskSpan = document.createElement('span');
taskSpan.textContent = taskText;
let deleteButton = document.createElement('span');
deleteButton.classList.add('deleteButton');
deleteButton.textContent = '删除';
// 将任务文本和删除按钮添加到列表项中
listItem.appendChild(taskSpan);
listItem.appendChild(deleteButton);
// 将列表项添加到任务列表中
taskList.appendChild(listItem);
// 清空输入框
taskInput.value = '';
// 为删除按钮添加点击事件监听器
deleteButton.addEventListener('click', function() {
// 从任务列表中移除列表项
taskList.removeChild(listItem);
});
}
});
<li>
元素,并添加 taskItem 类名。<span>
元素,一个用于显示任务文本,另一个作为删除按钮。