自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 前端面试必备八股文——性能优化

图片懒加载也叫延迟加载,只加载当前屏幕的图片,可视区域外的图片不会进行加载,只有当屏幕滚动的时候才加载。特点:节流是一种常用的性能优化技术,它可以限制函数的执行频率,避免过多的重复操作,提升页面的响应速度。函数在 n 秒内只执行一次,如果多次触发,则忽略执行。应用场景:防抖防抖函数可以将多次高频率触发的函数执行合并成一次,并在指定的时间间隔后执行一次。通常在处理输入框、滚动等事件时使用,避免频繁触发事件导致页面卡顿等问题。函数在 n 秒后再执行,如果 n 秒内被触发,重新计时,保证最后一次触发事件 n

2024-02-24 10:30:00 1287

原创 前端面试必备八股文——手写代码

这篇文章主要是收集面试中常见的手写题,包括我遇到的一些算法、功能函数、数据结构等问题。写法不一定是最优,可以用来参考,希望可以在面试中帮到你。

2024-02-24 10:00:00 924

原创 前端面试必备八股文——工程化

Webpack的热更新(Hot Module Replacement,简称HMR),在不刷新页面的前提下,将新代码替换掉旧代码。HRM的原理实际上是和浏览器之间维护了一个websocket服务。当本地资源发生变化后,webpack会先将打包生成新的模块代码放入内存中,然后WDS向浏览器推送更新,并附带上构建时的hash,让客户端和上一次资源进行对比。客户端对比出差异后会向WDS发起Ajax请求获取到更改后的内容(文件列表、hash),通过这些信息再向WDS发起jsonp请求获取到最新的模块代码。

2024-02-23 10:00:00 1059

原创 前端面试必备八股文——浏览器

跨域问题其实就是浏览器的同源策略造成的。协议端口号域名必须一致。

2024-02-22 10:30:00 1267

原创 前端面试必备八股文——网络

超文本传输安全协议(Hypertext Transfer Protocol Secure,简称:HTTPS)HTTPS在HTTP层和tcp层中间加了一个SSL/TLS安全层,进行加密,避免了HTTP协议存在的信息窃听,信息劫持等风险。由于HTTP协议采用明文传输信息,很容易被窃听、篡改、劫持。而HTTPS增加的TLS/SSL层可以对身份进行验证信息加密解密功能,避免这种问题发生。安全层的主要职责就是对发起的HTTP的数据进行加密解密操作。对称加密: 用一个密钥加密数据,加密后也可以对其解密。

2024-02-21 10:00:00 2095

原创 前端面试必备八股文——Vue

因为对象是一个引用类型,如果data是一个对象的情况下会造成多个组件共用一个datadata为一个函数,每个组件都会有自己的私有数据空间,不会干扰其他组件的运行。

2024-02-20 10:00:00 1759

原创 前端面试必备八股文——JavaScript

尾调用就是在函数的最后一步调用函数,在一个函数里调用另外一个函数会保留当前执行的上下文,如果在函数尾部调用,因为已经是函数最后一步,所以这时可以不用保留当前的执行上下文,从而节省内存。但是ES6的尾调用只能在严格模式下开启,正常模式是无效的。在JavaScript中,连续多次调用bind方法,最终函数的this上下文是由第一次调用 bind 方法的参数决定的js复制代码const obj1 = { name: 'obj1' };fn1();// 输出 "obj1"

2024-02-19 10:00:00 1082

原创 前端面试必备八股文——HTML&CSS

两个块级元素分别设置上下margin时可能会导致边距合并为一个边距,合并到边距取最大的那个值。需要注意的是,浮动的元素和绝对定位这种脱离文档流的元素的外边距不会折叠。重叠只会出现在垂直方向。计算规则都是正数,取最大的。一正一负,用正数减去负数后。都是负数,用0减去两个中绝对值大的那个。解决方案兄弟之间重叠(margin合并)和父子之间重叠(margin塌陷)兄弟之间重叠float底部元素的position的值为父子之间重叠子元素加入浮动属性或定位。

2024-02-18 10:05:35 1099

原创 永中云文件预览接口

官网地址https://open.yozocloud.cn/document/preview/5241。通过注册登录拿到appId和 appKey。JS文件 (signclient.js)引入signclient.js。

2024-02-06 16:21:13 824

原创 nvm的下载安装及使用

nvm就是一个方便切换不同NodeJS版本的工具,因为在实际工作中不一定一个时间段就只写一个项目,可能会有老的项目需要维护一下或者是别的情况,不同项目依赖不同版本的NodeJS,如果不停地卸载安装不同版本过于麻烦了,使用nvm就非常方便了。

2024-01-31 16:32:30 346

原创 如何快速创建一个Vue项目

打开命令行工具,使用 npm(Node Package Manager)全局安装 Vue CLI(https://cli.vuejs.org/zh/)。接下来,Vue CLI 会提示选择一些配置选项,比如包管理器、特性等。若未安装,则需要去官网(https://nodejs.org/)下载并安装最新版本。完成上述步骤后,就可以通过 Vue CLI 创建一个新的 Vue 项目了。其中 “my-project” 为你想要创建的项目名称,可以根据自己的喜好修改。现在,你可以在浏览器中访问。

2024-01-31 11:49:45 249

原创 Vue Router

Vue Router

2024-01-31 10:00:00 945

原创 vue核心知识点

一、Vue基础知识点总结开发vue项目的模式有两种:基于vue.js,在html中引入vue.js,让vue.js管理div#app元素。基于脚手架环境:通过vue脚手架环境可以方便的创建一个通用的vue项目框架的模板,在此基础之上开发vue项目更加便捷。适合工程化开发。制作web项目,需要安装vue脚手架环境 VueCLI。 需要先安装及配置该脚手架环境,并创建项目包。# 配置npm源 (国内npm镜像仓库地址)npm config set registry https://registr

2024-01-30 11:23:51 1468

原创 每天10个前端小知识 <Day 19>

响应式网站设计(Responsive Web design)是一种网络页面设计布局,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整描述响应式界面最著名的一句话就是“Content is like water”大白话便是“如果将屏幕看作容器,那么内容就像水一样”同时适配PC + 平板 + 手机等标签导航在接近手持终端设备时改变为经典的抽屉式导航网站的布局会根据视口来调整模块的大小和位置面对不同分辨率设备灵活性强。

2024-01-29 09:45:00 1038

原创 每天10个前端小知识 <Day 18>

px:绝对单位,页面按精确像素展示em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算,整个页面内1em不是一个固定的值rem:相对单位,可理解为root em, 相对根节点html的字体大小来计算vh、vw:主要用于页面视口大小布局,在页面布局上更加方便简单。

2024-01-28 09:00:00 563

原创 每天10个前端小知识 <Day 17>

度/:nth-child等,会降低浏览器的渲染性能css实现性能的方式可以从选择器嵌套、属性特性、减少http这三面考虑,同时还要注意css代码的加载顺序。

2024-01-27 10:30:00 819

原创 每天10个前端小知识 <Day 16>

硬件加速就是将浏览器的渲染过程交给GPU处理,而不是使用自带的比较慢的渲染器。这样就可以使得animation与transition更加顺畅。我们可以在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而提升性能。现在大多数电脑的显卡都支持硬件加速。鉴于此,我们可以发挥GPU的力量,从而使我们的网站或应用表现的更为流畅。属性含义transition(过度)用于设置元素的样式过度,和animation有着类似的效果,但细节上有很大的不同。

2024-01-26 09:30:00 846

原创 每天10个前端小知识 <Day 15>

媒体查询(Media Queries)早在在css2时代就存在,经过css3的洗礼后变得更加强大bootstrap的响应式特性就是从此而来的.简单的来讲媒体查询是一种用于修饰css何时起作用的语法.Media Queries 的引入,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。

2024-01-25 10:30:00 773

原创 每天10个前端小知识 <Day 14>

行内元素的定义块级元素的定义根据定义,一个行内元素只占据它对应标签的边框所包含的空间。块级元素占据其父元素(容器)的整个空间,因此创建了一个“块”。怎么理解这句话呢,比如拿我们最常见的标签(行内元素)和标签(块级元素)来举例< span style = " background-color : #1e7e34 " > 行内元素 < div style = " background-color : #bbb " > 块级元素 style。

2024-01-24 10:30:00 824

原创 每天10个前端小知识 <Day 13>

将窗体自上而下分成一行一行,并在每行中按从左至右依次排放元素,称为文档流,也称为普通流。这个应该不难理解,HTML中全部元素都是盒模型,盒模型占用一定的空间,依次排放在HTML中,形成了文档流。元素脱离文档流之后,将不再在文档流中占据空间,而是处于浮动状态(可以理解为漂浮在文档流的上方)。脱离文档流的元素的定位基于正常的文档流,当一个元素脱离文档流后,依然在文档流中的其他元素将忽略该元素并填补其原先的空间。将窗体自上而下分成一行一行,并在每行中按从左至右依次排放元素,称为文档流,也称为普通流。

2024-01-23 10:30:00 787

原创 每天10个前端小知识 <Day 12>

内存泄露的解释:程序中己动态分配的堆内存由于某种原因未释放或无法释放。根据JS的垃圾回收机制,当内存中引用的次数为0的时候内存才会被回收全局执行上下文中的对象被标记为不再使用才会被释放内存泄露的几种场景全局变量过多。通常是变量未被定义或者胡乱引用了全局变量// main.js// 场景1b=10;a();b++;// 场景2},1000)闭包。未手动解决必包遗留的内存引用。定义了闭包就要消除闭包带来的副作用render();// 手动设置为null,GC会自己去清除。

2024-01-22 11:00:00 838

原创 每天10个前端小知识 <Day 11>

JS会在创建变量时自动分配内存,在不使用的时候会自动周期性的释放内存,释放的过程就叫 “垃圾回收”。一方面自动分配内存减轻了开发者的负担,开发者不用过多的去关注内存使用,但是另一方面,正是因为因为是自动回收,所以如果不清楚回收的机制,会很容易造成混乱,而混乱就很容易造成"内存泄漏"。由于是自动回收,所以就存在一个 “内存是否需要被回收的” 的问题,但是这个问题的判定在程序中意味着无法通过某个算法去准确完整的解决,后面探讨的回收机制只能有限的去解决一般的问题。垃圾回收对是否需要回收的问题主要依赖于对变量

2024-01-21 10:30:00 852 1

原创 每天10个前端小知识 <Day 10>

、、三者的区别在于:实现的步骤,我们可以分解成为三部分:兼容关键字整体实现代码如下:具体描述请点击此链接全称(Async Javascript and XML)即异步的 和,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页的原理简单来说通过对象来向服务器发异步请求,从服务器获得数据,然后用来操作而更新页面流程图如下 下面举个例子:领导想找小李汇报一下工作,就委托秘书去叫小李,自己就接着做其他事情,直到秘书告诉他小李已经到了,最后小

2024-01-19 10:30:00 890 1

原创 每天10个前端小知识 <Day 9>

前端路由就是把不同路由对应不同的内容或页面的任务交给前端来做,之前是通过服务端根据 url 的不同返回不同的页面实现的。在单页面应用,大部分页面结构不变,只改变部分内容的使用优点:用户体验好,不需要每次都从服务器全部获取,快速展现给用户 缺点:单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动的位置 实现方式 前端路由一共有两种实现方式,一种是通过 hash 的方式,一种是通过使用 pushState 的方式。

2024-01-18 16:35:10 20

原创 每天10个前端小知识 <Day 8>

作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合。换句话说,作用域决定了代码区块中变量和其他资源的可见性。全局作用域任何不在函数中或是大括号中声明的变量,都是在全局作用域下,全局作用域下声明的变量可以在程序的任意位置访问函数作用域函数作用域也叫局部作用域,如果一个变量是在函数内部声明的它就在一个函数作用域下面。这些变量只能在函数内部访问,不能在函数以外去访问块级作用域ES6引入了let和const关键字,和var关键字不同,在大括号中使用let和const。

2024-01-18 10:18:33 908 1

原创 每天10个前端小知识 <Day 7>

尾调用的概念非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。尾调用优化尾调用之所以与其他调用不同,就在于它的特殊的调用位置。我们知道,函数调用会在内存形成一个"调用记录",又称"调用帧"(call frame),保存调用位置和内部变量等信息。如果在函数A的内部调用函数B,那么在A的调用记录上方,还会形成一个B的调用记录。等到B运行结束,将结果返回到A,B的调用记录才会消失。如果函数B内部还调用函数C,那就还有一个C的调用

2024-01-17 10:30:00 1850

原创 每天10个前端小知识 <Day 6>

二分查找,也称为折半查找,是指在有序的数组里找出指定的值,返回该值在数组中的索引。优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。

2024-01-16 10:00:00 803 1

原创 每天10个前端小知识 <Day 5>

具体描述请点击此链接。

2024-01-15 09:33:14 822

原创 每天10个前端小知识 <Day 4>

函数在运行的时候,会首先创建执行上下文,然后将执行上下文入栈,然后当此执行上下文处于栈顶时,开始运行执行上下文。在创建执行上下文的过程中会做三件事:创建变量对象,创建作用域链,确定 this 指向,其中创建变量对象的过程中,首先会为 arguments 创建一个属性,值为 arguments,然后会扫码 function 函数声明,创建一个同名属性,值为函数的引用,接着会扫码 var 变量声明,创建一个同名属性,值为 undefined,这就是变量提升。

2024-01-12 14:47:23 806 1

原创 每天10个前端小知识 <Day 3>

Polyfill 指的是用于实现浏览器并不支持的原生 API 的代码。比如说 querySelectorAll 是很多现代浏览器都支持的原生 Web API,但是有些古老的浏览器并不支持,那么假设有人写了一段代码来实现这个功能使这些浏览器也支持了这个功能,那么这就可以成为一个 Polyfill。事件代理(Event Delegation)也称之为事件委托。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理”即是把原本需要绑定在子元素的响应事件委托给父元素,让父元素担当事件监听的职务。

2024-01-12 08:43:34 796 1

原创 每天10个前端小知识 <Day 2>

使用ES6的 … 运算符,我们可以轻松转成数组。

2024-01-11 10:21:24 712 1

原创 每天10个前端小知识 <Day 1>

一个拥有 length 属性和若干索引属性的对象就可以被称为类数组对象,类数组对象和数组类似,但是不能调用数组的方法。常见的类数组对象有 arguments 和 DOM 方法的返回结果,还有一个函数也可以被看作是类数组对象,因为它含有 length 属性值,代表可接收的参数个数。常见的类数组转换为数组的方法有这样几种:(1)通过 call 调用数组的 slice 方法来实现转换(2)通过 call 调用数组的 splice 方法来实现转换。

2024-01-10 14:36:14 875

原创 在Vue项目中使用Echarts

只需要改this.chart.setOption()里的数据即可。只需要改option中的数据即可。只需要改option中的数据即可。

2023-07-26 15:18:00 246

原创 在vue中使用momentjs

官网地址: https://momentjs.bootcss.com/

2023-07-26 12:03:32 293

原创 从零创建一个Vue3+ts项目

新建一个脚手架项目:bmdsutdios-mobile-client。注意:安装node15以上的稳定版本。自动引入组件的插件需要它。配置VueCLI的配置文件:vue.config.js。详见vant组件库:van-tabbar。初始化App.vue的默认结构。

2023-06-30 17:58:54 689

原创 从零创建 Vue2 + ElementUI 项目

1.配置国内镜像2.安装vuecli3.查看当前vue版本vue -V。

2023-06-30 17:51:21 475

原创 MySQL + express脚手架

(记得打开MySQL)可视化工具新建连接新建数据库新建数据表修改字段属性设置主外键约束SQL文件可以这样写SQL的增删改查。

2023-06-28 19:50:14 67 1

原创 前后端分离项目部署在远程服务器

在对应站点的目录下 dist 文件夹下新建一个 .htaccess 文件注意前面有个点 在其中添加以下代码。为了防止打包上线引入文件的路径出错, 在vue.config.js文件配置publicPath。进入官网 http://nginx.org/en/download.html 下载稳定版。把静态文件打包为.zip,上传到Linux服务器,保存到XAMPP的htdocs下。index.html 引入的.js/css 等资源的路径改为相对地址。找到XAMPP中服务器的启动脚本,运行其中的服务器。

2023-06-28 19:32:22 248 1

原创 在Linux上编写一个自启动脚本

​ 所有的系统默认启动的脚本都要保存在/etc/init.d目录下,但是需要在/etc/rcX.d目录下创建软连接(即快捷方式)把上述服务器的启动操作编写为一个自动执行的脚本(Shell脚本),在Linux系统重启后自动执行。把上述系统服务添加到当前运行级别下(即只要系统再次进入当前运行级别,则自动运行该脚本)在其中添加如下内容: (node启动)另外: npm启动 需要先执行以下步骤。安装完成后,您可以使用以下命令安装。首先,使用以下命令更新软件包列表。接下来,运行以下命令安装。

2023-06-26 10:27:06 1225 3

原创 git常用命令

1.第一次使用Git前,告诉Git你是谁后期就不需要再写这个命令了2.查看配置列表3.初始化Git仓库git init在当前目录下生成一个.git目录,用于保存项目中所有文件的变化4.查看Git系统的状态git status检测到哪些文件发生了变化,例如:新文件的出现、文件被修改、删除…5.将工作目录中的文件添加到暂存区6.将暂存区文件提交到Git仓库7.查看所有的提交日志8.历史回退将Git仓库中记录的版本替换当前工作目录中的文件9.忽略文件。

2023-06-26 10:18:47 55 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除