Posts tagged with #Frontend

27 posts found (Page 2 of 3)

React Key

想象一下,我们渲染了一个项目列表。当这个列表的数据更新时,React 需要弄清楚 UI 该如何变化。它面临两个选择: 1. **销毁整个列表,然后从头开始重新创建**:这种方式简单粗暴,但效率极低,会导致所有相关的 DOM 节点和组件实例被重新创建。 2...

React 渲染

在应用中,我们经常需要渲染一个项目列表 (Rendering Lists),比如一个待办事项清单、用户列表或文章列表。直接在 JSX 中硬编码列表项是不现实的。 处理动态列表的标准做法是使用 JavaScript 的 `Array. map()` 方法。我们可以在 JSX 的花括号 `{}` 中,将一个数据数组转换为一个 React 元素数组。 ```javascript function...

React 基础

```bash npm create vite@latest my-react-app -- --template react cd my-react-app npm install npm run dev ``` Vite 创建的项目结构如下: - `public/`: 存放静态资源,如图片、图标等。此文件夹中的内容在构建时会被直接复制到输出目录。 - `src/`: 存放应用的源代码。...

js-form-validation

HTML5 为表单输入框提供了一套强大的内置验证机制,通过添加特定的属性即可启用: - `required`:必填字段。 - `type="email"` / `type="url"`:验证字段是否为有效的 Email 或 URL 格式。 - `minlength` / `maxlength`:限制文本输入的最小/最大长度。 - `min` /...

JavaScript 视图

在前端开发中,视图 (View) 是用户在浏览器中看到和交互的一切——也就是用户界面(UI)。JavaScript 的核心任务之一就是**动态地操纵这个视图**,以响应用户操作或数据变化。 最原始的视图操作方式是直接使用 DOM API。 ```javascript // 1. 获取一个 DOM 元素 const container = document...

npm 包管理器

npm 是 JavaScript **包管理器 (Package Manager)**。它主要由两部分组成: 1. **一个在线仓库 (Registry)**:一个巨大的、公开的数据库,存储了海量的、可重用的 JavaScript 代码包(Packages)。这些包可以是小型的辅助函数库(如 `lodash`),也可以是完整的前端框架(如 `React`, `Vue`)。 2...

js-module

在 ES6 模块出现之前,如果在 HTML 中引入多个 JavaScript 文件,它们会共享同一个全局作用域。这会导致变量命名冲突和不可预期的行为。 ```html <. html --> <script src="one...

JavaScript Class

在 ES6 之前,我们使用构造函数和原型链来实现对象的创建和继承。ES6 引入了 `class` 关键字,它提供了一种更清晰、更简洁的语法。 > Class 的底层实现仍然是基于原型继承。因此,`class` 被称为“语法糖”。 **构造函数 vs. Class 写法对比:** ```javascript // 传统构造函数写法 function Player(name, marker)...

闭包

JavaScript 有如下的作用域: - **全局作用域 (Global Scope)**: 在所有函数和代码块 `{}` 外面定义的变量,在代码的任何地方都可以被访问。 > 过度使用全局变量会造成“全局污染”。 - **函数作用域 (Function Scope)**: 使用 `var` 在一个函数内部声明的变量,它的“地盘”就是整个函数。 - **块级作用域 (Block...