JavaScript 核心技能突破:函数与 DOM 操作实战指南(附 100 + 代码示例与动态图解)

本文聚焦 JavaScript 核心技能 —— 函数与 DOM 操作,通过 100 + 行带注释代码、真实项目案例,从函数定义调用、作用域解析,到 DOM 元素增删改查、事件绑定等核心模块,以 “零基础教学 + 企业级实战” 模式,帮助开发者快速掌握 JavaScript 交互开发能力,适合 CSDN 技术爱好者深度学习。

一、函数:JavaScript 的 “功能军火库”

1.1 函数是什么?

函数是 JavaScript 中封装可复用代码的 “黑匣子”,将重复执行的代码块打包,通过调用实现功能复用。

👉比如:把 “计算两个数之和” 的代码封装成函数,在不同场景重复使用。

1.2 函数的定义与调用

(1)命名函数
// 定义函数:计算两数之和

function add(num1, num2) {

return num1 + num2;

}

// 调用函数

let result = add(5, 3);

console.log(result); // 输出8
(2)匿名函数
// 直接定义并调用匿名函数(立即调用函数表达式,IIFE)

let square = function(x) {

return x * x;

};

let result2 = square(4);

console.log(result2); // 输出16
(3)箭头函数(ES6 语法,更简洁)
// 计算两数乘积的箭头函数

let multiply = (a, b) => a * b;

let result3 = multiply(6, 7);

console.log(result3); // 输出42

1.3 函数参数与返回值

概念

说明

代码示例

形参(形式参数)

函数定义时的参数名

function greet(name) {... }

实参(实际参数)

函数调用时传入的值

greet('小明');

返回值

函数执行后的输出结果

return value;

1.4 函数作用域:变量的 “活动范围”

let globalVar = '我是全局变量';

function outerFunction() {

let localVar = '我是局部变量';

console.log(globalVar); // 可以访问全局变量

console.log(localVar); // 可以访问局部变量

function innerFunction() {

console.log(localVar); // 可以访问父函数的局部变量

}

innerFunction();

}

outerFunction();

// console.log(localVar); 报错! localVar超出作用域

1.5 实战案例:制作一个简易计算器

<!DOCTYPE html>

<html>

<head>

<title>简易计算器</title>

</head>

<body>

<input type="number" id="num1">

<select id="operator">

<option value="+">+</option>

<option value="-">-</option>

</select>

<input type="number" id="num2">

<button onclick="calculate()">计算</button>

<div id="result"></div>

<script>

function calculate() {

let num1 = parseFloat(document.getElementById('num1').value);

let operator = document.getElementById('operator').value;

let num2 = parseFloat(document.getElementById('num2').value);

let result;

if (operator === '+') {

result = add(num1, num2);

} else {

result = subtract(num1, num2);

}

document.getElementById('result').innerHTML = `结果是:${result}`;

}

function add(a, b) {

return a + b;

}

function subtract(a, b) {

return a - b;

}

</script>

</body>

</html>

👉 效果:输入数字和运算符,点击按钮显示计算结果。

二、DOM 操作:JavaScript 的 “网页改造器”

2.1 什么是 DOM?

DOM(文档对象模型)是 HTML 文档在内存中的树形结构表示,JavaScript 通过 DOM 操作来修改网页内容、样式和结构。

👉 DOM 树示意图:

2.2 获取 DOM 元素的 5 种方法

方法

说明

代码示例

getElementById

通过 id 获取单个元素

document.getElementById('myDiv');

getElementsByClassName

通过 class 获取元素集合

document.getElementsByClassName('btn');

getElementsByTagName

通过标签名获取元素集合

document.getElementsByTagName('p');

querySelector

通过 CSS 选择器获取单个元素

document.querySelector('div.container');

querySelectorAll

通过 CSS 选择器获取元素集合

document.querySelectorAll('a.nav-link');

2.3 修改 DOM 元素的内容、样式和属性

(1)修改文本内容
let element = document.getElementById('myParagraph');

element.textContent = '新的文本内容';
(2)修改样式
let button = document.getElementById('myButton');

button.style.backgroundColor ='red'; // 修改背景色

button.style.color = 'white'; // 修改文字颜色
(3)修改属性
let img = document.getElementById('myImage');

img.src = 'new-image.jpg'; // 修改图片地址

2.4 动态创建和删除 DOM 元素

(1)创建元素
// 创建新的段落元素

let newParagraph = document.createElement('p');

newParagraph.textContent = '这是新创建的段落';

// 将新元素添加到指定位置

let parentDiv = document.getElementById('parent');

parentDiv.appendChild(newParagraph);
(2)删除元素
let elementToRemove = document.getElementById('oldElement');

let parent = elementToRemove.parentNode;

parent.removeChild(elementToRemove);

2.5 事件绑定:让网页 “动” 起来

(1)直接在 HTML 中绑定
<button onclick="showMessage()">点击我</button>

<script>

function showMessage() {

alert('按钮被点击了!');

}

</script>
(2)通过 JavaScript 绑定
let button = document.getElementById('myButton');

button.addEventListener('click', function() {

alert('另一种绑定方式!');

});

2.6 实战案例:制作一个动态待办事项列表

<!DOCTYPE html>

<html>

<head>

<title>待办事项列表</title>

</head>

<body>

<input type="text" id="newTask" placeholder="输入新任务">

<button id="addButton">添加任务</button>

<ul id="taskList"></ul>

<script>

let addButton = document.getElementById('addButton');

let taskList = document.getElementById('taskList');

addButton.addEventListener('click', function() {

let newTask = document.getElementById('newTask').value;

if (newTask) {

// 创建新的列表项

let listItem = document.createElement('li');

listItem.textContent = newTask;

// 创建删除按钮

let deleteButton = document.createElement('button');

deleteButton.textContent = '删除';

deleteButton.addEventListener('click', function() {

taskList.removeChild(listItem);

});

listItem.appendChild(deleteButton);

taskList.appendChild(listItem);

// 清空输入框

document.getElementById('newTask').value = '';

}

});

</script>

</body>

</html>

👉 效果:输入任务点击添加,显示在列表中,点击删除按钮可移除任务。

三、常见错误与避坑指南

3.1 函数调用错误

错误:函数定义了参数,但调用时未传入对应参数

解决:确保调用函数时传入参数的数量和类型与定义一致

3.2 DOM 元素获取失败

错误:页面 DOM 尚未加载完成就尝试获取元素

解决:将 JavaScript 代码放在<body>标签底部,或使用DOMContentLoaded事件:

document.addEventListener('DOMContentLoaded', function() {

// 在这里获取DOM元素

});

3.3 事件绑定重复触发

错误:多次绑定同一事件导致重复执行

解决:先移除旧的事件监听器,再绑定新的,或确保绑定逻辑只执行一次

四、技术笔记:函数与 DOM 操作速查表

4.1 函数常用语法

功能

语法

示例

定义函数

function 函数名(参数) {... }

function sum(a, b) { return a + b; }

调用函数

函数名(参数);

sum(3, 5);

箭头函数

(参数) => 表达式

(x, y) => x * y

4.2 DOM 操作常用方法

功能

方法

示例

获取元素

document.getElementById('id');

document.getElementById('main');

创建元素

document.createElement('标签名');

document.createElement('div');

添加元素

父元素.appendChild(子元素);

parentDiv.appendChild(newElement);

绑定事件

元素.addEventListener('事件名', 回调函数);

button.addEventListener('click', handleClick);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北泽别胡说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值