前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端基础知识

前端基础知识

作者头像
用户1079407
发布2024-07-25 20:19:54
520
发布2024-07-25 20:19:54

1. CSS 中两个 .class1 .class2 从哪个开始解析

在 CSS 中,选择器 .class1 .class2 表示所有 class 为 class1 的元素中的 class 为 class2 的子元素。浏览器解析这个选择器时,从右向左解析。也就是说,浏览器首先找到所有 class 为 class2 的元素,然后检查这些元素的父级元素是否有 class1,从而应用样式。

.class1 .class2 {

color: red;

}

1

2

3

2. Flex 布局相关的问题

Flexbox 是一种一维布局模型,可以在一个方向上高效地分配空间并对齐内容。以下是一些常见的 Flex 布局属性:

display: flex: 将容器变为 flex 容器。

flex-direction: 定义主轴方向。取值有 row(默认)、row-reverse、column、column-reverse。

justify-content: 定义主轴上的对齐方式。取值有 flex-start、flex-end、center、space-between、space-around、space-evenly。

align-items: 定义交叉轴上的对齐方式。取值有 stretch(默认)、flex-start、flex-end、center、baseline。

flex-wrap: 定义是否换行。取值有 nowrap(默认)、wrap、wrap-reverse。

3. JS 的事件循环

JavaScript 是单线程的,使用事件循环来处理异步操作。事件循环的基本步骤:

执行栈:同步代码逐行执行,函数调用形成执行栈。

任务队列:异步操作(如 setTimeout、Promise)完成后,将回调函数放入任务队列。

事件循环:不断检查执行栈是否为空,如果为空则从任务队列中取出第一个任务并执行。

console.log('start');

setTimeout(() => {

console.log('timeout');

}, 0);

console.log('end');

// 输出顺序: start -> end -> timeout

1

2

3

4

5

6

7

4. 写题:解析 URL,history 模式和 hash 模式的混在一起

function parseURL(url) {

const parser = document.createElement('a');

parser.href = url;

return {

protocol: parser.protocol,

hostname: parser.hostname,

port: parser.port,

pathname: parser.pathname,

search: parser.search,

hash: parser.hash,

host: parser.host

};

}

const url = 'https://www.example.com:8080/pathname/?search=test#hash';

console.log(parseURL(url));

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

5. 写题:解析时间

function formatDate(date) {

const yyyy = date.getFullYear();

const mm = String(date.getMonth() + 1).padStart(2, '0');

const dd = String(date.getDate()).padStart(2, '0');

const hh = String(date.getHours()).padStart(2, '0');

const min = String(date.getMinutes()).padStart(2, '0');

const ss = String(date.getSeconds()).padStart(2, '0');

return `${yyyy}-${mm}-${dd} ${hh}:${min}:${ss}`;

}

const date = new Date();

console.log(formatDate(date));

1

2

3

4

5

6

7

8

9

10

11

12

13

6. 缓存相关问题

强缓存和协商缓存是 HTTP 缓存机制中的两种缓存策略:

强缓存:不会向服务器发送请求,直接从缓存中读取资源。常见的头部字段有 Expires 和 Cache-Control。

协商缓存:会向服务器发送请求,服务器根据资源的状态决定是否使用缓存。常见的头部字段有 Last-Modified 和 ETag。

一般存储较静态且不频繁更新的数据,如静态资源(CSS、JS、图片等)。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档