CSGrandeur's Thinking

Cogito Ergo Sum

1. 为什么需要前端框架?

1.1 传统开发的痛点

还记得我们之前用原生JavaScript做的待办事项应用吗?代码是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 获取元素
const input = document.getElementById('todoInput');
const list = document.getElementById('todoList');
let todos = [];

// 添加待办事项
function addTodo() {
const text = input.value;
todos.push(text);
input.value = '';
renderTodos(); // 手动更新界面
}

// 渲染列表(需要手动操作DOM)
function renderTodos() {
list.innerHTML = ''; // 清空列表
todos.forEach(todo => {
const li = document.createElement('li');
li.textContent = todo;
list.appendChild(li);
});
}

问题

  • 需要手动操作DOM(创建元素、更新元素)
  • 数据和界面不同步(数据变了,界面不会自动更新)
  • 代码重复(每次都要写createElementappendChild

💡 核心问题
原生JavaScript需要手动管理数据和界面的同步,代码复杂、容易出错。

阅读全文 »

1. 为什么需要浏览器存储?

1.1 问题的出现:数据丢失

还记得我们之前做的待办事项应用吗?每次刷新页面,数据就消失了

生活类比
想象你在纸上写待办事项:

  • 写完后,纸放在桌子上
  • 一阵风吹来,纸被吹走了
  • 问题:数据丢失了!

网页的困境

  • 用户在网页上输入数据
  • 刷新页面 → 数据消失
  • 问题:用户体验很差!

💡 核心问题
网页需要保存数据,让用户下次打开时还能看到。

阅读全文 »

1. 为什么需要现代JavaScript?

1.1 从"回调地狱"到"优雅异步"

还记得我们在第四章学的JavaScript基础吗?我们已经学会了DOM操作、事件监听、表单验证。但是,当我们需要处理异步操作(如获取数据、读取文件)时,传统JavaScript会遇到大麻烦。

生活类比
想象你要做三件事:

  1. 煮饭(需要20分钟)
  2. 炒菜(需要10分钟)
  3. 洗碗(需要5分钟)

传统方式(回调地狱):

1
2
3
4
5
6
7
8
9
10
11
// 煮饭
cookRice(function() {
// 炒菜
cookDish(function() {
// 洗碗
washDishes(function() {
console.log('全部完成!');
// 如果还有更多步骤,代码会越来越深,像"地狱"一样
});
});
});

现代方式(async/await):

1
2
3
4
5
6
async function makeDinner() {
await cookRice(); // 等待煮饭完成
await cookDish(); // 等待炒菜完成
await washDishes(); // 等待洗碗完成
console.log('全部完成!');
}

💡 关键理解
现代JavaScript让异步代码看起来像同步代码,更易读、更易维护

阅读全文 »

1. JavaScript是什么?为什么需要它?

1.1 从"静态"到"动态":HTML、CSS与JavaScript的关系

还记得我们之前学的HTML和CSS吗?

  • HTML = 网页的"骨架"(结构)
  • CSS = 网页的"皮肤"(样式)
  • JavaScript = 网页的"大脑"(行为)

实际例子

只有HTML+CSS的网页(静态,不能交互):

1
2
<button>点击我</button>
<!-- 点击按钮,什么都不会发生 -->

加上JavaScript后的网页(动态,可以交互):

1
2
3
4
5
6
<button id="myButton">点击我</button>
<script>
document.getElementById('myButton').addEventListener('click', function() {
alert('按钮被点击了!');
});
</script>

💡 关键理解
HTML负责"内容是什么",CSS负责"内容长什么样",JavaScript负责"内容能做什么"。

阅读全文 »

1. CSS是什么?为什么需要它?

1.1 从"白纸"到"彩色画":HTML与CSS的关系

还记得我们在第二章学的HTML吗?HTML就像是一张白纸上的文字,告诉你"这里有个标题"、"那里有段文字",但所有的文字都是黑色、同样大小、没有颜色

阅读全文 »

1. Web的发展

1.1 什么是Web?

Web = 万维网(World Wide Web)
它不是互联网(Internet),而是互联网上的一种服务,就像微信、QQ一样。

  • 互联网:像高速公路,连接全球计算机
  • Web:像高速公路上的"信息专列",专门运送网页内容

生活类比

你用手机刷抖音 → 抖音App是"客户端"
你用浏览器看网页 → 浏览器是"客户端",Web是背后的信息系统

阅读全文 »

1. 大模型时代:智能革命新起点

1.1 时代背景

  • 从“能写诗”到“能编程”
    AI大模型成为智能革命核心驱动力,推动人类进入“智能即服务”新阶段。
  • 中国行动
    国家“十四五”科技规划明确AI为战略方向,2023年《生成式人工智能服务管理暂行办法》规范发展。
阅读全文 »

计算几何入门

初高中解析几何关注理论求解,通过代数方法研究几何性质。算法竞赛中的计算几何则面临实际计算问题:

  1. 数值精度:浮点数运算存在误差,简单几何判断可能因精度问题失败
  2. 算法实现:将几何概念转化为可编程的算法步骤
  3. 避免除法:解析几何大量使用除法,而在计算机的浮点运算中,除法损失精度严重,计算几何的精髓在于尽可能用乘法代替除法,避免精度损失。

点积与叉积、点线关系、多边形与简单多边形、简单多边形面积、凸包、半平面交。

阅读全文 »

数论入门

入门数论,最大公约数、裴蜀定理、质数筛法、同余运算、欧拉函数、乘法逆元等。

阅读全文 »
0%