
纯JS脚本怎么写程序
使用纯JS脚本编写程序需要掌握基本的JavaScript语法、理解DOM操作、掌握事件处理、了解异步编程。本文将详细介绍这些方面,并结合实际案例加以说明。
一、JavaScript基本语法
JavaScript是目前最流行的编程语言之一,广泛应用于Web开发。要编写纯JS脚本程序,首先要掌握其基本语法。
1、变量和常量
在JavaScript中,可以使用var、let和const来声明变量和常量。
var oldVariable = 'Hello World'; // 使用var声明变量
let newVariable = 'Hello JavaScript'; // 使用let声明变量
const constantVariable = 'I am constant'; // 使用const声明常量
2、数据类型
JavaScript具有多种数据类型,包括字符串、数字、布尔值、对象、数组等。
let string = 'Hello';
let number = 123;
let boolean = true;
let object = {name: 'John', age: 30};
let array = [1, 2, 3, 4, 5];
3、运算符
JavaScript支持多种运算符,如算术运算符、比较运算符、逻辑运算符等。
let sum = 5 + 3; // 算术运算符
let isEqual = (5 == '5'); // 比较运算符
let andOperation = (true && false); // 逻辑运算符
4、控制结构
JavaScript提供了丰富的控制结构,如条件语句、循环语句等。
// 条件语句
if (number > 100) {
console.log('Number is greater than 100');
} else {
console.log('Number is less than or equal to 100');
}
// 循环语句
for (let i = 0; i < 5; i++) {
console.log(i);
}
二、DOM操作
DOM(Document Object Model)是浏览器中的文档对象模型,允许JavaScript与HTML和CSS进行交互。
1、选择DOM元素
可以使用getElementById、getElementsByClassName、querySelector等方法选择DOM元素。
let elementById = document.getElementById('myId');
let elementsByClass = document.getElementsByClassName('myClass');
let elementByQuery = document.querySelector('.myClass');
2、修改DOM元素
可以通过修改DOM元素的属性、内容等来更新页面。
elementById.innerHTML = 'New Content';
elementById.style.color = 'red';
3、创建和删除DOM元素
可以使用createElement、appendChild、removeChild等方法创建和删除DOM元素。
let newElement = document.createElement('div');
newElement.innerHTML = 'I am a new element';
document.body.appendChild(newElement);
document.body.removeChild(newElement);
三、事件处理
事件处理是JavaScript与用户交互的重要方式,可以通过addEventListener方法为DOM元素绑定事件。
1、绑定事件
可以为DOM元素绑定各种事件,如点击事件、鼠标悬停事件等。
elementById.addEventListener('click', function() {
alert('Element clicked!');
});
2、事件对象
事件对象包含了事件的相关信息,如事件类型、目标元素等。
elementById.addEventListener('click', function(event) {
console.log(event.type); // 输出事件类型
console.log(event.target); // 输出目标元素
});
四、异步编程
JavaScript的异步编程是通过回调函数、Promise、async/await等实现的。
1、回调函数
回调函数是异步编程的基础,通过将函数作为参数传递来实现异步操作。
function fetchData(callback) {
setTimeout(function() {
callback('Data fetched');
}, 1000);
}
fetchData(function(data) {
console.log(data);
});
2、Promise
Promise是ES6引入的一种异步编程方式,可以避免回调地狱。
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('Data fetched');
}, 1000);
});
promise.then(function(data) {
console.log(data);
}).catch(function(error) {
console.error(error);
});
3、async/await
async/await是基于Promise的语法糖,使异步代码更加简洁。
async function fetchData() {
let data = await new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('Data fetched');
}, 1000);
});
console.log(data);
}
fetchData();
五、综合案例
为了更好地理解如何使用纯JS脚本编写程序,下面通过一个综合案例来演示。
1、案例描述
我们将创建一个简单的待办事项列表应用,用户可以添加待办事项、标记已完成的事项以及删除事项。
2、HTML结构
首先,创建一个简单的HTML结构。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Todo List</title>
</head>
<body>
<h1>Todo List</h1>
<input type="text" id="newTodo" placeholder="Add new todo">
<button id="addTodo">Add</button>
<ul id="todoList"></ul>
<script src="script.js"></script>
</body>
</html>
3、JavaScript代码
接下来,编写JavaScript代码来实现待办事项列表的功能。
document.addEventListener('DOMContentLoaded', function() {
let newTodoInput = document.getElementById('newTodo');
let addTodoButton = document.getElementById('addTodo');
let todoList = document.getElementById('todoList');
// 添加待办事项
addTodoButton.addEventListener('click', function() {
let todoText = newTodoInput.value.trim();
if (todoText === '') {
alert('Please enter a todo');
return;
}
let listItem = document.createElement('li');
listItem.innerHTML = `
<span>${todoText}</span>
<button class="markDone">Done</button>
<button class="deleteTodo">Delete</button>
`;
todoList.appendChild(listItem);
newTodoInput.value = '';
});
// 事件代理,处理标记完成和删除事项
todoList.addEventListener('click', function(event) {
if (event.target.classList.contains('markDone')) {
event.target.previousElementSibling.style.textDecoration = 'line-through';
} else if (event.target.classList.contains('deleteTodo')) {
event.target.parentElement.remove();
}
});
});
4、优化代码
为了代码更加整洁和模块化,可以将功能拆分成函数。
document.addEventListener('DOMContentLoaded', function() {
let newTodoInput = document.getElementById('newTodo');
let addTodoButton = document.getElementById('addTodo');
let todoList = document.getElementById('todoList');
function addTodo() {
let todoText = newTodoInput.value.trim();
if (todoText === '') {
alert('Please enter a todo');
return;
}
let listItem = createTodoItem(todoText);
todoList.appendChild(listItem);
newTodoInput.value = '';
}
function createTodoItem(text) {
let listItem = document.createElement('li');
listItem.innerHTML = `
<span>${text}</span>
<button class="markDone">Done</button>
<button class="deleteTodo">Delete</button>
`;
return listItem;
}
function handleTodoListClick(event) {
if (event.target.classList.contains('markDone')) {
markTodoAsDone(event.target);
} else if (event.target.classList.contains('deleteTodo')) {
deleteTodoItem(event.target);
}
}
function markTodoAsDone(button) {
button.previousElementSibling.style.textDecoration = 'line-through';
}
function deleteTodoItem(button) {
button.parentElement.remove();
}
addTodoButton.addEventListener('click', addTodo);
todoList.addEventListener('click', handleTodoListClick);
});
通过以上案例,我们展示了如何使用纯JS脚本编写一个简单的待办事项列表应用。通过掌握JavaScript的基本语法、DOM操作、事件处理和异步编程,你可以编写出更加复杂和实用的JavaScript程序。如果你正在团队合作开发中,还可以考虑使用研发项目管理系统PingCode和通用项目协作软件Worktile来提高效率和协作效果。希望这篇文章对你有所帮助!
相关问答FAQs:
1. 如何在纯JS脚本中创建一个函数?
- 首先,使用关键字function定义函数。
- 其次,为函数命名,命名规范是遵循驼峰命名法。
- 然后,在函数的大括号内编写函数的代码逻辑。
- 最后,在需要调用函数的地方使用函数名加括号的方式调用函数。
2. 怎样在纯JS脚本中获取用户输入的数值?
- 首先,可以使用prompt函数弹出一个对话框,提示用户输入。
- 其次,通过接收prompt函数的返回值来获取用户输入的数值。
- 然后,可以将获取到的数值存储在一个变量中,以便后续使用。
3. 如何在纯JS脚本中进行条件判断?
- 首先,使用if语句来进行条件判断。
- 其次,将需要判断的条件放在if语句的括号中。
- 然后,在if语句的大括号内编写满足条件时需要执行的代码。
- 最后,可以使用else语句来处理条件不满足的情况,编写相应的代码逻辑。
文章包含AI辅助创作,作者:Edit2,如若转载,请注明出处:https://docs.pingcode.com/baike/3590089