20241112前端八股文总结

news2024/11/14 23:40:31

1.介绍项目
2.项目难点
3.promise:promise是异步的一种解决方案、它其实是一个对象,可以获取异步操作,promis属于同步任务,但是promise.then()和promise.catch属于微任务。promise有3个状态:pending(进行中)、resolved(已完成)、rejected(已拒绝),一旦状态改变就不会再变。

4.事件循环:js是单线程的,分为同步和异步任务,同步任务放入栈中立刻执行,异步任务放入任务队列排队执行,同步任务执行完后会反复去任务队列看是否有异步任务,有就放入栈中执行,这个反复的过程就叫事件循环。 异步任务分宏任务和微任务,先执行微任务再执行宏任务微任务async/await,宏任务定时器延时器。

5.vue2、vue3响应式:vue2使用Object.defineProperty数据劫持,递归遍历对象属性添加getter、setter;vue3使用Proxy代理,可以劫持整个对象。

6.computed和watch:computed计算属性,依赖属性改变重新计算computed的值,有缓存;watch侦听器:监听数据变化时都会执行回调,无缓存,可配置第一次是否执行和深度监听。

7.vue的key:key是vnode的唯一id,使得diff操作更准确和快速。diff算法过程先会进行新旧节点的首尾交叉对比,当无法匹配时会用新节点的key和旧节点进行比对,从而找到相应旧节点。

8.闭包:闭包是指一个函数能够访问并操作其父函数作用域中的变量,即使父函数执行完了,避免变量污染、属性方法私有化、保存变量常驻内存。应用场景:节流、防抖、封装库、回调函数、递归。
节流:单位时间内频繁触发只执行一次,类似技能冷却(如下拉加载列表)
防抖:单位时间内频繁触发只执行最后一次,类似游戏回城(如搜索框搜索输入、wps在线保存)
封装库:使用匿名自执行函数,将公共方法挂载在原型上

9.原型和原型链:每个函数的prototype属性叫做原型,用来存放共享的属性和方法,能够继承;每个对象都有_proto_属性,并且指向他的原型;原型也有_proto_,指向原型的原型,一层一层的链式结构叫做原型链。(如person对象->Person.prototype->Object.prototype->null)

10.es6新特性:箭头函数(更简洁的语法、没有自己的this)、扩展运算符、解构赋值、模板字符串、promise、let和const、reduce

11.浏览器输入url并回车发生了什么:第一次访问:输入url->dns域名系统匹配真实ip->建立连接(三次握手)->获取数据渲染页面->四次挥手,第二次访问:读取浏览器缓存,看ip是否过期

12.性能优化:使用Lighthouse工具分析,减少http请求(合并文件精灵图)、减小文件大小(资源压缩使用svg)、启用cdn、gzip、懒加载、ssr服务器端渲染、小程序分包、减少dom操作避免回流(vue的虚拟dom diff算法)、使用缓存

13.webpack和vite:webpack是功能强大的静态模块打包工具,适合大型复杂项目,构建较慢;vite是基于原生es模块的开发工具,适用于中小快速开发项目,构建快。

14.js数据类型:基本数据类型(boolean、number、string、undefined、null、symbol)、引用数据类型(object、array、function)

15.数据类型检测方式:typeof(数组、对象、null都会判断为object)、instanceof(只能通过原型链判断引用数据类型)、constructor(改变创建对象原型就失效)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2240475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员的数学之进制与零

最近一年多发生了很多平凡的大事,应接不暇,一度断更。从今儿起再接上来。 先从数学开始吧,因为太枯燥了。 生活中有许多种进制在共同起作用,例如,数学上的十进制、计算机中的二进制、八进制和十六进制、计时的60进制、…

GPT-5 要来了:抢先了解其创新突破

Microsoft 的工程师计划于 2024 年 11 月在 Azure 上部署 Orion (GPT-5)。虽然这一版本不会向公众开放,但其上线被视为人工智能领域的一个重要里程碑,并将产生深远的影响。 文章目录 GPT-5 真的要来了GPT-4 的局限性GPT-5 的创新突破与遗留挑战GPT-5 预期…

01-Ajax入门与axios使用、URL知识

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

堆中的时间复杂度+TOP K问题

堆中的时间复杂度分析 回顾: 堆在物理上:数组 逻辑上:完全二叉树 1.堆排序是什么? // 排升序void HeapSort(int* a, int n){// 建大堆 -for (int i (n - 1 - 1) / 2; i > 0; --i){AdjustDown(a, n, i);}int end n - 1;while (end > 0){Swap(&a[0], &a[end]…

学Linux的第八天

目录 管理进程 概念 程序、进程、线程 进程分类 进程前后台调用 查看进程 ps命令 unix 风格 bsd风格 GNU风格 top命令 格式 统计信息区 进程信息区:显示了每个进程的运行状态 kill命令 作用 格式 管理进程 概念 程序、进程、线程 程序&#x…

网络初识--Java

一、网络通信基础 1.IP地址 IP地址主要⽤于标识⽹络主机、其他⽹络设备(如路由器)的⽹络地址。简单说,IP地址⽤于定位主 机的⽹络地址。 就像我们发送快递⼀样,需要知道对⽅的收货地址,快递员才能将包裹送到⽬的地。…

Linux软件包管理与Vim编辑器使用指南

目录 一、Linux软件包管理器yum 1.什么是软件包? 2.什么是软件包管理器? 3.查看软件包 4.安装软件 ​编辑 5.卸载软件 Linux开发工具: 二、Linux编辑器---vim 1.vim的基本概念 (1) 正常/普通模式(Normal mode&#xff0…

标准库 -- 为什么 EXTI中断需要使能复用时钟与为什么不需要使能?

在STM32中,使用外部中断(EXTI)时需要使能复用功能,这和其他中断(如串口中断、定时器中断)有所不同。以下是为什么在使用外部中断时需要使能复用,以及其他中断不需要复用的原因。 一、为什么 EX…

深入理解ECDSA:椭圆曲线数字签名算法的原理与应用

目录 引言一、什么是ECDSA二、ECDSA的基本原理三、椭圆曲线四、ECDSA签名生成过程1、 生成私钥和公钥2、签名3、签名对的保存 五、ECDSA签名验证过程六、ECDSA的安全性七、篡改的消息如何被检测到八、 为什么B能够知道篡改?九、python代码示例总结 引言 在数字通信…

rocketmq——docker-compose安装

rocketmq安装 创建文件夹,这里我们分别部署namesrv和broker 1、namesrv.conf listenPort98762、broker.conf # 所属集群名字 brokerClusterNameDefaultCluster # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.propert…

微积分复习笔记 Calculus Volume 1 - 5.5 Substitution

5.5 Substitution - Calculus Volume 1 | OpenStax

初试js反混淆

一、目标 ​ 最近js玩的花样越来越多了,本来简洁方便的一门开发语言,现在混淆的一塌糊涂。今天我们就介绍几种常见的反混淆方案。 混淆的本质就是等价替换,把 a 12 ,替换成 a 100 - 8 5 - 15 - 70。 把 “push” 替换成 “\u0070\u0075…

基于微信小程序的乡村研学游平台设计与实现,LW+源码+讲解

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自…

odoo17 前端 在头像下拉 dropdown 自定义菜单

odoo17 前端 在头像下拉 dropdown 自定义菜单 其实很简单, 我们先找到原来已经创建好的, 找到代码位置 使用 我的资料 为例 odoo-17.0\addons\hr\static\src\user_menu\my_profile.js /** odoo-module **/import { _t } from "web/core/l10n/translation"; import …

【解决】Layout 下创建槽位后,执行 Image 同步槽位位置后表现错误的问题。

开发平台:Unity 6.0 编程语言:CSharp 编程平台:Visual Studio 2022   一、问题背景 | 开发库存系统 图1 位置同步失败问题 图2 位置正常同步效果表现 黑框 作用于 UnityEngine.UI.GridLayoutGruop,形成 4x6 布局,如…

2023年MathorCup数学建模B题城市轨道交通列车时刻表优化问题解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛 B题 城市轨道交通列车时刻表优化问题 原题再现: 列车时刻表优化问题是轨道交通领域行车组织方式的经典问题之一。列车时刻表规定了列车在每个车站的到达和出发(或通过)时刻,其在实际…

07-案例-图书管理

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

vue 依赖注入(Provide、Inject )和混入(mixins)

Prop 逐级透传问题​ 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。想象一下这样的结构:有一些多层级嵌套的组件,形成了一棵巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据。…

九州未来再度入选2024边缘计算TOP100

随着数智化转型的浪潮不断高涨,边缘计算作为推动各行业智能化升级的重要基石,正在成为支持万物智能化的关键点。近日,德本咨询(DBC)联合《互联网周刊》(CIW)与中国社会科学院信息化研究中心(CIS),共同发布《2024边缘计算TOP100》榜…

git相关知识

前言:在学习git之前首先需要了解几个概念:工作区,暂存区,版本库。 工作区:是电脑上写代码或者文件的目录。 暂存区:一般存放在.git目录下的index中,也称索引。(git add&#xff09…