当前位置: 首页 > news >正文

第三章:JavaScript引擎 · 行为之火

【剧情展开:静止之城】

林昊步入第三重代码世界,这里建筑精美、布局完美,但整个城市寂静无声,没有任何互动:按钮无法点击、文字无法更新,甚至钟表也停滞不前。

“这是——死页。”
零号导师现身,神情凝重:“HTML 是骨,CSS 是形,而 JavaScript,才是这世界的魂。”

此时,一道高墙阻挡去路,上面浮现字样:

只有唤醒交互之火,方可打破静止枷锁。


JavaScript 初识 · 点燃行为之火

导师抛出一本古老代码卷轴,上写:JavaScript

🔧 引入方式

  • 直接内嵌在页面中:

    <script>alert('你好,世界');
    </script>
    
  • 外部引入:

    <script src="main.js"></script>
    

推荐使用外部 JS 文件,便于管理与维护。


变量:数据的容器

林昊在终端敲下:

let name = "林昊";
const age = 16;
var school = "代码学院";

🔑关键字含义:

  • let: 可以重新赋值的变量
  • const: 常量,不可更改
  • var: 旧时代的变量声明方式,作用域不推荐

数据类型的九族封印

导师演示数据之力:

let a = 100; // 数字 Number
let b = "前端"; // 字符串 String
let c = true; // 布尔 Boolean
let d = null; // 空值
let e; // undefined
let f = [1, 2, 3]; // 数组 Array
let g = { name: "林昊", level: 1 }; // 对象 Object

“数据类型决定你能对它做什么操作——这将是构建逻辑的基石。”


函数:封印术与技能释放

✨ 函数声明:

function greet(name) {console.log("你好," + name);
}
greet("林昊");

✨ 箭头函数(现代写法):

const greet = (name) => {console.log(`你好,${name}`);
};

“函数是行为的单位,逻辑的魔法阵。你可以随时召唤它。”


事件绑定:与用户互动

林昊面对无响应按钮,尝试使用行为注入术:

🔘 HTML 按钮:

<button id="btn">点击我</button>
<p id="message"></p>

🔘 JavaScript 绑定事件:

document.getElementById("btn").addEventListener("click", function () {document.getElementById("message").textContent = "按钮被点击了!";
});

按钮亮起,周围景色开始变动,一丝交互气息涌现。


条件判断:选择之术

导师继续传授逻辑判断:

let score = 85;if (score >= 90) {console.log("优秀");
} else if (score >= 60) {console.log("及格");
} else {console.log("不及格");
}

循环控制:批量释放法术

林昊想对一组卡片元素进行处理:

let cards = ["HTML", "CSS", "JavaScript"];for (let i = 0; i < cards.length; i++) {console.log("正在学习:" + cards[i]);
}

“循环,是批量操作神器。善用它,你将事半功倍。”


行为引擎启动 · 解封页面

林昊编写了如下脚本 main.js:

document.addEventListener("DOMContentLoaded", () => {const btn = document.getElementById("btn");const output = document.getElementById("message");btn.addEventListener("click", () => {output.textContent = "你启动了行为之火!";btn.style.backgroundColor = "#4caf50";btn.textContent = "已激活";});
});

随着按钮被激活,整座城市从“死页状态”复苏,NPC 走动、窗口弹出、界面自动变化。
林昊眼中闪烁着互动之火:“这,就是 JavaScript 的力量!”


🛠️ 练习任务

  1. 创建一个按钮和一段文本内容;
  2. 当按钮被点击时,将文本内容修改为“你好,代码世界!”;
  3. 改变按钮颜色与文字内容;
  4. 尝试用函数封装行为逻辑。

🔮 预告:第四章《DOM迷宫 · 掌控页面之心》

页面已苏醒,但林昊发现,真正控制页面结构,需要深入 DOM 树的迷宫,学习如何增删查改页面元素。等待他的,是令人头晕的节点关系与陷阱机关……

http://www.xdnf.cn/news/463807.html

相关文章:

  • 深入解析HTTP协议演进:从1.0到3.0的全面对比
  • CSP-J/S初赛知识点:计算机网络与Internet基本概念知识点
  • 在C++模板中,设置一个无名模板参数的默认值为0到底是什么含义
  • repmgr集群故障修复
  • 基于DWT的音频水印算法
  • 2025长三角杯数学建模B题教学思路分析:空气源热泵供暖的温度预测
  • Java转Go日记(三十六):简单的分布式
  • 【PmHub后端篇】PmHub中Seata分布式事务保障任务审批状态一致性
  • 【油藏地球物理正演软件ColchisFM】基于数据驱动的油藏参数叠前地震反演研究进展
  • Scrapy框架下地图爬虫的进度监控与优化策略
  • 智能化招标采购新基建:基于DeepSeek大模型+RAG技术的智能知识服务中枢
  • MinerU安装(pdf转markdown、json)
  • uniapp在APP上如何使用websocket--详解
  • 每日算法刷题计划Day7 5.15:leetcode滑动窗口4道题,用时1h
  • 《数字藏品社交化破局:React Native与Flutter的创新实践指南》
  • 游戏引擎学习第283天:“让‘Standing-on’成为一个更严谨的概念
  • 进程替换讲解
  • uniapp微信小程序一键授权登录
  • 牛客网NC218480统计正负数个数
  • SiFli-SDK 编译
  • 【Ubuntu】安装BitComet种子下载器
  • 语音识别-3,添加ai问答
  • IT系统的基础设施:流量治理、服务治理、资源治理,还有数据治理。
  • 工作实战之关于数据库表的备份
  • 『已解决』Python virtualenv_ error_ unrecognized arguments_--wheel-bundle
  • 浏览器验证证书
  • 【AI News | 20250515】每日AI进展
  • 蓝牙BLE协议之——LL层
  • 【LeetCode 热题 100】56. 合并区间 —— 一文弄懂排序+遍历经典解法(附Python代码)
  • 使用Mathematica绘制Clifford奇异吸引子