自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端算法--括号⽣成

代表⽣成括号的对数,请你设计⼀个函数,⽤于能够⽣成所有可能的并且 有效的 括号组合。由于我们需要求解所有的可能, 因此回溯就不难想到。回溯的思路和写法相对⽐较固定,并且。不难想到, 如果左括号的数⽬⼩于右括号,我们可以提前退出,这就是这道题的剪枝。,后⾯就不⽤看了,直接退出即可。由于我们需要剪枝, 因此必须从左开始遍历。由于字符串的不可变性, 因此我们⽆需。因此这道题我们可以使⽤深度优先搜索。,从空字符串开始构造,做加法, 即。回溯的优化⼿段⼤多是剪枝。左括号数⽬等于右括号数⽬。

2024-06-24 14:38:41 178

原创 前端算法之-合并两个有序链表

将两个升序链表合并为⼀个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。本题可以使⽤递归来解,将两个链表头部较⼩的⼀个与剩下的元素合并,并返回排好序的链表。输出:1->1->2->3->4->4。头,当两条链表中的⼀条为空时终⽌递归。时间复杂度:O(M+N)空间复杂度:O(M+N)

2024-06-24 14:31:35 164

原创 vue的diff算法和key的作用

当某一层有很多相同的节点时,也就是列表节点时,_Diff_ 算法的更新过程默认情况下也是遵循以上原则。来给每个节点做一个唯一标识,_Diff_ 算法就可以正确的识别此节点,找到正确的位置区插入新的节点。如果节点类型不同,直接干掉前面的节点,再创建并插入新的节点,不会再比较这个节点以后的子节点了。如果节点类型相同,则会重新设置该节点的属性,从而实现节点的更新。中在使用相同标签名元素的过渡切换时,也会使用到。同一层级的一组节点,他们可以通过唯一的。结构,不同的组件产生不同的。两个相同的组件产生类似的。

2024-06-11 15:32:27 280

原创 vue 中的 spa 应用优化首屏加载速度?

http2:如果系统首屏同一时间需要加载的静态资源非常多,但是浏览器对同域名的 tcp 连接数量是有限制的(chrome 为 6 个)超过规定数量的 tcp 连接,则必须要等到之前的请求收到响应后才能继续发送,而 http2 则可以在多个 tcp 连接中并发多个请求没有限制,在一些网络较差的环境开启 http2 性能提升尤为明显。封装:构建良好的项目架构,按照项目需求就行全局组件,插件,过滤器,指令,utils 等做一 些公共封装,可以有效减少我们的代码量,而且更容易维护资源优化。

2024-06-11 15:25:12 263

原创 es6 proxy的作用和用法

中新增的一个构造函数,它用于创建一个代理对象,可以拦截并自定义对象的基本操作,例如属性查找、赋值、枚举、函数调用等。下面是一个简单的示例,它演示了如何使用。来创建一个代理对象。当我们访问代理对象的属性时,会调用处理器对象中的。在这个方法中,我们可以自定义属性访问的行为。这样,我们就可以拦截并自定义对象的属性访问行为。在上面的代码中,我们首先定义了一个目标对象。方法,用于拦截对目标对象属性的访问。在上面的示例中,当我们访问代理对象的。,而不是目标对象中实际的值。属性时,处理器对象中的。

2024-06-04 17:51:07 491

原创 defineProperty的作用是什么

方法用于在对象上定义一个新属性,或者修改对象上已有的属性。它允许你精确地控制属性的行为,例如属性是否可枚举、可写、可配置等。函数来定义一个访问器属性。访问器属性不包含实际的值,而是通过调用。当我们获取该属性的值时,会调用。这样,我们就可以精确地控制该属性的行为。下面是一个简单的示例,它演示了如何使用。下面是一个简单的示例,它演示了如何使用。当我们设置该属性的值时,会调用。,并且该属性是可写、可枚举和可配置的。除了直接指定属性的值外,你还可以使用。我们指定了该属性的值为。函数来获取和设置值。

2024-06-04 17:47:44 193

原创 file对象和blob对象有什么区别

对象除了包含二进制数据外,还包含了文件的元数据(如文件名和修改日期)。对象通常用于表示一个不与文件系统相关联的二进制数据块。对象都表示一个二进制数据块,它们都继承自。元素或拖放操作选择的文件。对象来表示用户选择的文件,例如通过。对象都可以用来表示二进制数据,但是。方法来从文件中获取一个数据块。对象还包含了文件的元数据,而。它们之间的主要区别在于。Blob对象是包含File的。对象,但是这通常不太常用。构造函数来创建一个新的。构造函数来创建一个新的。对象则不包含这些信息。

2024-06-04 17:38:55 170

原创 原生js实现文件分片上传

分片上传是一种文件上传技术,它允许将大文件分割成多个较小的片段(通常称为“分片”或“块”),然后将这些片段分别上传到服务器。后端需要接收这些分片,并在接收到所有分片后将它们组合成一个完整的文件。需要注意的是,上面的代码仅仅是一个简单的示例,实际应用中可能需要更多的错误处理和进度显示等功能。在上面的代码中,我们首先获取用户选择的文件,然后计算出分片总数。由于每个分片都是独立上传的,因此可以并行上传多个分片,从而提高上传速度。如果某个分片上传失败,可以重新上传这个分片,而不需要重新上传整个文件。

2024-06-04 17:37:21 214

原创 原生js实现文件上传功能

元素来让用户选择文件。当用户点击“上传”按钮时,我们会获取用户选择的文件,并使用。对象将它们添加到表单数据中。在上面的代码中,我们使用了一个。请求,将表单数据上传到服务器。函数向服务器发送一个。

2024-06-04 17:35:28 229

原创 如何利用webpack优化前端性能

删除多余的代码、注释、简化代码的写法等等⽅式。可以利⽤webpack的 UglifyJsPlugin 和 ParallelUglifyPlugin 来压缩JS⽂件, 利⽤ cssnano (css-loader?: 在构建过程中,将引⽤的静态资源路径修改为CDN上对应的路径。: SplitChunksPlugin插件来进⾏公共模块抽取,利⽤浏览器缓存可以⻓期缓存这些⽆需频繁变动的公共代码。⽤webpack优化前端性能是指优化webpack的输出结果,让打包的最终结果在浏览器运⾏快速⾼效。

2024-06-04 17:02:48 343

原创 webpack的构建流程

在以上过程中,Webpack 会在特定的时间点⼴播出特定的事件,插件在监听到感兴趣的事件后会执⾏特定的逻辑,并且插件可以调⽤ Webpack 提供的 API 改变 Webpack 的运⾏结果。编译模块:从⼊⼝⽂件出发,调⽤所有配置的 Loader 对模块进⾏翻译,再找出该模块依赖的模块,再递归本步骤直到所有⼊⼝依赖的⽂件都经过了本步骤的处理;开始编译:⽤上⼀步得到的参数初始化 Compiler 对象,加载所有配置的插件,执⾏对象的 run ⽅法开始执⾏编译;

2024-06-04 17:01:55 270

原创 webpack怎么配置单页面或者多页面项目?

举个例子 => 你有这样一个项目架构├── config│ ├── webpack.config.js //webpack配置文件├── src│ └── view //页面部分│ ├── router //项目的路由│ ├── reducer //项目的redux仓库│ └── app.js //项目的入口文件├── public│ └── index.html //入口文件最后注入到的html。

2024-06-04 16:28:43 1036

原创 webpack中loader和plugin的作用是什么?有哪些常见的loader

url-loader的作用跟file-loader差不多,但它比file-loader更强大,它不止能实现file-loader的打包功能,它还比file-loader多一个limit配置项,这个limit配置就是配置图片资源的大小的,即当我们的图片资源大于这个限定值时,则打包后的图片资源放入单独的文件夹进行存放,如果打包后的图片资源小于这个限定值,则直接将该图片资源放入出口js(base64)文件中。允许在编译时创建配置的全局对象,是一个webpack内置的插件,不需要安装。删除(清理)构建目录。

2024-06-04 16:16:47 388

原创 webpack包含哪些核心模块,分别是做什么的?

loader(加载器):webpack 本身只能处理 js、json 等资源,其他资源需要借助 loader,Webpack 才能解析。output(输出):指示 Webpack 打包完的文件输出到哪里去,如何命名等。entry(入口):指示 Webpack 从哪个文件开始打包。plugins(插件):扩展 Webpack 的功能。开发模式:development。生产模式:production。

2024-06-04 16:15:54 303

原创 wbepack的一些常见配置

通常我们会弄混这两个概念,以为Chunk就是Bundle,Bundle就是我们最终输出的一个或多个打包文件。确实,大多数情况下,一个Chunk会生产一个Bundle。我们直接写出来的是 module,webpack 处理时是 chunk,最后生成浏览器可以直接运行的 bundle。由多个不同的模块生成,bundles 包含了早已经过加载和编译的最终源文件版本。这样的配置,会产生一个Chunk,但是会产生两个bundle,如下图。可以使用如下代码调试看一下:__dirname和'.'的区别。

2024-06-04 16:12:07 207

转载 前端可视化大屏适配方案

前端可视化大屏适配方案

2022-10-13 23:36:11 3150 2

原创 移动端不同屏幕适配的方法

移动端不同屏幕适配的方法

2022-10-13 23:23:05 3099

原创 适用pc流媒体查询适配

适用pc流媒体查询

2022-10-13 23:14:07 471

转载 响应式布局的常用解决方案对比(媒体查询、百分比、rem和vw/vh)

简要介绍:前端开发中,静态网页通常需要适应不同分辨率的设备,常用的自适应解决方案包括媒体查询、百分比、rem和vw/vh等。本文从px单位出发,分析了px在移动端布局中的不足,接着介绍了几种不同的自适应解决方案。在静态网页中,我们经常用像素(px)作为单位,来描述一个元素的宽高以及定位信息。在pc端,通常认为css中,1px所表示的真实长度是固定的。那么,px真的是一个设备无关,跟长度单位米和分米一样是固定大小的吗?答案是否定的,下面图1.1和图1.2分别表示pc端下和移动端下的显示结果,在网页中我们设置的

2022-06-07 22:03:09 1483

原创 node-sass安装失败,或者npm install安装失败出现找不到python的方法(亲测有效)

node-sass无法下载导致构建失败时可使用如下命令下载。# linuxSASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass# windowset SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass&& npm install node-sass...

2022-05-19 00:33:33 1381

原创 防抖和节流的实现

高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率防抖触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间 思路: 每次触发事件时都取消之前的延时调用方法functiondebounce(fn){lettimeout=null;//创建一个标记用来存放定时器的返回值returnfunction(){clearTimeout(timeout);//...

2022-05-06 15:11:13 155

原创 防抖的实现

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、防抖是什么?触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。二、使用步骤1.思路每次触发事件时都取消

2022-05-06 14:25:00 1083

原创 该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者

最近在使用goland这种ide进行开发go时,新建了一个项目,运行编译的时候,竟然出现了这个“该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者”,后来发现只要把main.go里面的packge xxxxx里面这个xxxx换成packge main问题就解决了...

2022-05-04 08:10:59 5427 1

转载 vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You

之前自己安装的vue版本是2.9.6的但是最近项目需要,cli的命令vue create无法使用,报错vue create is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You网上找了很多方法不太实用,卸载不了2.9.6版本,卸载了很多遍依然很坚刚npm uninstall vue-cli -gnpm install -g @vue/clinpm vue -V上述方法根本不好使,如果你也是这样看卡下面教

2021-12-03 13:41:36 3221 2

原创 在uniapp中引入iconfont报错“文件查找失败:‘./static/css/iconfont.ttf?t=1633771783929‘ atxxxx“

报这个错是因为在iconfont.css里面要使用绝对路径,不能使用相对路径

2021-10-11 09:23:42 4810 3

原创 uniapp和vue实现打开手机前置摄像头和相机的方法

最近在项目遇到了一个问题,用uniapp的框架做一个功能,就是打开平板自带的前置摄像头拍照,uniapp上的功能只有打开默认相机的功能,但是前置摄像头需要你自己去手动转换一下,客户体验感很不好,产品经理要求必须要打开就是前置摄像头~~~~~~~~~~~~~这可愁坏了我,于是各种百度,小伙伴球高人指点,uniapp的官方群也问了,都么有用,其中群里有个人给了一个方法,但是调用腾讯云的接口,但是小编开发的是本地开发~网上有个input方法,但是要在https环境下才能用。小编没用过,不知道有么有用~

2021-10-09 21:23:07 8955 13

原创 屏幕适配常见知识理解---1基础

物理像素(physical pixel)即设备像素,一个物理像素是显示器(手机屏幕)上最小的物理显示单元,在操作系统的调度下,每一个设备像素都有自己的颜色值和亮度值。买手机时那些销售告诉你的分辨率就是这个。(这个行业还有一个毛病,分辨率本事设备的横向和纵向的像素数量,也就是宽和高,比如坚果3的分辨率应该是:1080x2160像素,但是销售时为了好看,商家逗将大数字放在了前面,写成2160x1080像素,这样更吸引人嘛,久而久之,大家都习惯这么做了,真是无语了)设备独立像素(density-ind

2021-09-23 23:24:19 338

原创 vue中rem的使用

vue中的rem如何做?首先项目中,新建一个目录config,并且在新建一个js文件rem.js在rem.js里面使用闭包写进如下代码// 设置基准const BASE = 15;(function (doc, win) { let docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',//去..

2021-09-23 22:53:52 1548

原创 uniapp checkbox样式失效,选中框选中按钮不显示

找了很多方法最后网上一个博主找到了解决方法在项目的main.css里面如果你不知道你的css样式在哪个文件夹直接全局搜索‘找到注释两个地方第一个找到这一行注释箭头指的地方就可以第二个注释这两个地方,然后保存刷新就可以...

2021-09-10 10:32:06 3298 8

转载 [转载]uni-app 换肤实现-原生导航栏、tabbar和页面全部替换

通过全局缓存参数设置当前主题:换肤代码如下 setSkinme(theme) { uni.setStorageSync("theme", theme) uni.showModal({ title: "系统提醒", content: '切换成功,是否重启生效?', confirmText: "是", cancelText: "否", success: res =&gt..

2021-09-07 23:58:51 937

原创 gitlab上拉取clone项目失败,

换了一家公司后,上一家公司配置过ssh,然后新公司使用git clone项目失败网页版的gitlab能够登录上但是git clone时候,需要输入用户名和密码,使用等着网页版的gitlab总是不成功问同事他使用的哪个账号登录,同事也是很敷衍的回一句工号,他们都没有配置过的我使用了很多种方法输入很多次,奈何,密码就是不能输入,凭以前经验得知是账号不对用https的方式拉去的话,账号密码不知道,因为上一家公司配置过,于是想一下用ssh方式先用命令$.

2021-09-02 11:26:07 2872

原创 vue获取地理位置自动定位---腾讯地图

前两天因为工作需求需要获取地理位置打开腾讯地图定位找到控制台选择新建应用应用名称和类型选择好了后添加key这里就获取到了定位在vue视图中需要定位的 <div class="locationWrapper" @click="getPosition">js代码mounted() { // this.getLocation() }, methods:{ //获取定位 getLoc...

2021-09-01 21:07:00 4145 5

原创 js+canvas原生封装图形验证码

组件,可以直接在父组件引用<template> <div> <canvas id="canvas" > </canvas> </div></template><script>export default { name: "verCode", mounted() { //验证码生成 let canvas = document.getElementById("canvas");

2021-08-24 00:42:26 107

原创 记录一次用python升级微信支付的代金券的接口

最近打开微信支付的后台,做代金券页面竟然要升级接口官方给了一堆文档,一如既往读的头疼于是微信开发者社区看到一篇文章借鉴一下,来这里mark一下首先你要先安装python不会的话去参照这个链接安装一下https://www.liaoxuefeng.com/wiki/1016959663602400/1016959856222624我就是参照这个安装的,安装的3.x版本安装成功后看一下版本出现这个就是安装成功然后接下来打开微信支付的后台提前准备好1.微信支付商户.

2021-08-23 21:28:03 248

原创 运行python报错python : 无法将“python”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。

最近需要用到python,运行的时候报错python : 无法将“python”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。应该是安装的时候没有吧python这个命令安装到环境变量里面去在桌面-我的电脑-右键属性-找到高级设置点开把你安装的python的路径改一下按照下图配置...

2021-08-23 21:02:23 26403 6

原创 element中图片加载失败

element引入图片使用el-image引入图片运行却出现加载失败看了好多次官网,确认无误,最后网上查了好久,发现引入的时候要在后面加一个require最后才成功!require明明是引入模块的方式,不太懂这里为什么要用require但是问题解决了,mark'一下...

2021-08-22 17:58:48 998

原创 如何在使用cdn在vue中引入element

平时开发环境都使用npm惯了,那么正式的上线环境,如何使用cdn引入element呢小编这里用的vue-cli工具,原生的vue大家自行去探索使用cli工具以后,会有一个public文件夹找到下面的index.html这个位置引入css可能此时你的版本与我的不一样,那么这个版本要去element官网找样式引入完了,接下来要引入element组件库我们知道组件库这个时候要在vue的app挂载这个页面中引入此时就要找到app.vue这个vue页面此时对应版..

2021-08-22 14:03:57 5217 2

原创 vue报错SassError: Expected newline.

以前一直在vue中less,今天心血来潮试了sass,然后运行就报这个错SassError: Expected newline.研究了许久,发现这里有个坑,你在vue中使用sass不能在style中写sass得写成scss改成这样就不会报错了...

2021-08-22 13:17:21 3938 4

转载 常用的前端JavaScript方法封装

1、输入一个值,返回其数据类型**functiontype(para){returnObject.prototype.toString.call(para)}2、数组去重functionunique1(arr){return[...newSet(arr)]}functionunique2(arr){varobj={};returnarr.filter(ele=>{if(!obj[ele]...

2021-08-22 10:12:19 85

原创 浅谈vue双向绑定的原理

一、什么是双向绑定我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定举个栗子当用户填写表单时,View的状态就被更新了,如果此时可以自动更新Model的状态,那就相当于我们把Model和View做了双向绑定关系图如下二、双向绑定的原理是什么我们都知道 Vue 是数

2021-08-20 14:36:31 3473

空空如也

空空如也

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

TA关注的人

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