2025

118 posts

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...

Grid

CSS Grid 布局是一个强大的**二维 (2D)** 布局系统,意味着它可以同时处理**行和列**。与 Flexbox(一维)不同,Grid 允许我们在两个维度上对齐项目,是专门为解决复杂的网页布局问题而设计的。 Grid 由以下组件组成: - **Grid 容器 (Grid Container)**:应用了 `display: grid;` 的父元素。 - **Grid 项目...

JavaScript 原型链

我们可以在构造函数里为对象添加方法,但这存在一个严重的性能问题。 ```javascript function Player(name, marker) { this. name = name; this...

JavaScript 基础

```javascript // 创建数组 const fruits = ["Apple", "Banana", "Cherry"]; // 访问元素 console. log(fruits[0]); // "Apple" // 修改元素 fruits[1] = "Blueberry"; // 添加元素 fruits...

CSS 基础练习

> 这里是记录 Odin Project 中的一些 CSS 基础部分练习题的笔记,因为本人对 CSS 的理解并不是很好. > This one is a little nicer looking, and a little closer to something you might see in the real world...

Flexbox

Flexbox 是一种现代 CSS 布局模型,旨在提供一种更高效的方式来对容器中的项目进行布局、对齐和空间分配。它允许项目在可用空间内“伸缩”(flex),以适应不同尺寸的屏幕。 Flexbox 由如下组件构成: - **Flex 容器 (Flex Container)**:应用了 `display: flex;` 的父元素。 - **Flex 项目 (Flex Item)**:Flex...

CSS 基础

CSS (Cascading Style Sheets) 用于为 HTML 文档添加样式,控制网页的布局和外观。它通过一系列**规则 (rules)** 来实现。 CSS 的基本语法如下: 一条规则由一个**选择器 (selector)** 和一个**声明块 (declaration block)** 组成。声明块包含一个或多个由分号分隔的**声明**,每个声明都是一个 `属性: 值`...