自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胡图图的博客

创建一个带有头结点的单向循环链表

  • 博客(143)
  • 问答 (14)
  • 收藏
  • 关注

原创 vue 深拷贝数据以后导致 页面卡顿

vue 页面卡顿

2023-09-08 10:04:16 598

转载 vue渲染数据后顺序乱了

vue渲染数据后顺序乱了

2023-03-05 10:06:41 235 1

转载 【vue2】main.js引入scss文件报错

main.js引入scss文件报错,找不到文件

2023-03-04 15:36:41 448

转载 文件分片上传

2、进行分片设置,文件File基于Blob, 继承了Blob的功能,可以把File当成Blob的子类,利于Blob的slice方法进行文件分片处理,并且依次进行上传。1、通过dom获取文件对象,并且对文件进行MD5加密(文件内容+文件标题形式),采用SparkMD5进行文件加密;3、分片文件上传完成后,请求合并接口后端进行文件合并处理。'上传完成,发送合并请求'

2022-08-22 08:27:54 1885

转载 Sortable.js学习笔记

Sortable.js是一款优秀的js拖拽库,支持ie9及以上版本ie浏览器和现代浏览器,也可以运行在移动触摸设备中。不依赖jQuery。支持 Meteor、AngularJS、React、Vue、Knockout框架和任何CSS库,如Bootstrap、Element UI。你可以用来拖拽div、table等元素。...

2022-08-14 23:46:18 509

翻译 html2canvas 学习笔记

的作用就是允许我们直接在用户浏览器上拍摄网页或某一部分的截图。它的屏幕截图是基于DOM的,因此,可能不会100%精确到真实的表示,因为它不会生成实际的屏幕截图,而是基于页面上可用的信息构建屏幕截图。...

2022-08-14 23:10:58 2029

转载 前端即时通讯

SSE是HTML5新增的功能,SSE(sever-sentevents)服务器端推送事件,是指服务器推送数据给客户端,而不是传统的请求响应模式。简单的说,就是浏览器向服务器发送一个HTTP请求,然后服务器不断单向地向浏览器推送“信息”。缺点轮询时间通常是写死的,时间太长的话,无法达到实时的效果,时间太短,又会增加服务器的负担。前端(客户端)发起定时器的循环请求后台,后台(服务器)接收到请求后返回响应信息的一种方式。优点对轮询做了优化,有较好的时效性,明显减少了很多不必要的http请求次数。...

2022-07-25 00:38:33 1787 1

原创 tab标签页切换效果

原生js+css实现tab标签页切换

2022-07-12 23:37:12 380

原创 vant组件弹出层弹出失效,页面卡死

vant 组件 弹出层失效,页面卡死

2022-06-15 10:50:10 1914

原创 Js面向对象案例01:tab标签

运行效果html代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>面向对象编程</title></head><body> <div i

2022-05-28 11:53:17 230

原创 JS获取今天的开始和结束,本周的开始和结束,本月的开始和结束

直接上代码(我自己没有测试过本周和本月的函数):var initDateTools = (function(){ // 获取今天的开始:00:00:00:00 function getTodayStartTime(){ return new Date(new Date().setHours(0, 0, 0, 0)); } // 获取今天的结束 function getTodayEndTime(){ return new Date(new Date().setHours(

2022-04-08 22:06:27 1146

原创 CSS学习

1. @规则1.1 导入另外一个css文件;语法:@import 'style.css';1.2 告诉浏览器该css文件使用的字符编码集语法:@import 'utf-8';必须写到第一行2. 布局2.1 两栏布局第一种:定宽的左(main)右(aside)浮动html代码2.2 三栏布局...

2022-04-02 23:35:40 174

原创 前端面试总结

1. 讲一下JS的闭包和它的应用场景吧1.1 JS闭包是什么?JS作用域分为全局作用域和函数作用域;我们在执行代码的时候,会创建当前执行上下文,也就是作用域的概念。创建执行上下文分为两步:创建阶段和执行阶段。创建阶段会创建作用域链,此时,将当前执行上下文放到作用域链的栈顶。作用域链中包含着当前上下文对象和所有父级上下文对象。当前函数操作一个变量时,会沿着作用域链查找,当前作用链找不到,就去父级作用域链查找,这个就叫做闭包,简单说就是函数内部可以引用函数外部的参数和变量。问我的时候,我答的是函数

2022-04-02 12:00:19 887

原创 数据结构和算法参考资料

二分法(一):二分法的基本思想

2022-03-31 22:58:35 541

转载 微任务和宏任务

1. 常见宏任务新程序或子程序被直接执行,例如<script>元素里的代码被执行事件回调函数,例如点击事件的回调函数setTimeout()和setInterval()requestAnimationFrameI/O操作setImmediateUI操作2. 常见微任务Promise.then(),.catch(),final()MutationObserverObject.observenodejs中的process.nextTick()3. 事件循环事件循环

2022-03-31 13:34:13 143

转载 BOM学习

1. BOM概述1.1 什么是BOMBOM(Browser Object Model),浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。1.2 BOM的构成window对象是浏览器的顶级对象。2. window对象常见事件2.1 窗口加载事件说明:window.onload是窗口(页面)加载事件,当文档内容完全加载完成后会触发该事件(包括图像,脚本文件,CSS文件等)。使用:window.onload = function(){};// 或下面

2022-03-31 11:29:49 141

原创 JavaScript:this指向问题

1. 全局作用域或普通函数中this指向全局对象window2. 方法(对象所有函数)谁调用,this就指向谁。3. 构造函数this指向构造函数的实例对象4. 箭头函数当声明一个普通函数时,会定义一个this对象,指向当前函数所属运行环境。箭头函数没有this,所以在箭头函数中使用this时,会向外找,直到找到为止。仅个人理解,有误的地方还请大家指出。示例一:var o = { say(){ console.log(this); }, eat: (

2022-03-30 21:39:58 1273

原创 CSS选择器用法

1. css样式权重计算256进制!important 无穷大行间样式style 1000#id 100.class|属性|伪类 10标签|伪元素 1通配符 03. 常用类选择器3.1 a:first-child说明:选中父元素的第一个子元素,且该子元素必须是a元素3.2 a:first-of-type说明:选中子元素中的第一个a元素3.3 a:last-child说明:选中父元素的最后一

2022-03-29 20:15:49 271

原创 leetcode-20.有效的括号

题目描述代码实现:JS代码实现/** * @param {string} s * @return {boolean} */var isValid = function(s) { const stack = new Stack() const obj = { ')': '(', ']': '[', '}': '{' } for(let v of s){ if(v == '(' || v == '{'

2022-03-25 15:00:17 808

原创 数据结构:栈

代码实现顺序存储(数组)JS代码实现ES5代码实现function Stack(){ this.stack = [];}// 添加元素到栈顶Stack.prototype.push = function(ele){ this.stack.push(ele);}// 移除栈顶的元素Stack.prototype.pop = function(){ this.stack.pop();}// 查看栈顶的元素Stack.prototype.peek = function(

2022-03-25 14:56:52 1520

转载 leetcode-2.两数相加

题目描述题目解析:l1和l2都是单链表,要求l1和l2对应位置元素相加,当结果大于10时,向后进一位。最终将相加结果返回。链表结点结构:function ListNode(val, next){ this.val = (val === undefined ? 0 : val) this.next = (next === undefined ? null : next)}第一种方法解题思路:定义一个头结点,指向最终的返回结果。即head.next定义一个flag,默认为0。当需

2022-03-23 11:51:45 55

原创 leetcode-53.最大子数组和

题目给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。第一种方法:暴力求子数组和,三重循环JS实现代码算法思想:从第一个开始,对每一个数组元素(假设当前元素索引为i)都依次计算其连续子数组和。子数组和的计算从当前数组元素(nums[i])开始计算,即nums[i],nums[i] + nums[i+1],nums[i]+..+nums[len-1],求出最大值保存。每计算一次子数组和跟当前最大值(max)比较

2022-03-22 21:00:46 344

原创 记录一下我在开发过程中用到的js方法

1. 数组方法1.1 findIndex()2. 字符串方法3. 正则表达式PS:仅为了自己方便查找做个记录

2022-03-22 09:38:47 1465

原创 遮罩层效果实现

先看下效果:代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> body, div,

2022-03-12 20:57:27 289

原创 viewport导致的bug

先简单记录一下这个bug公司项目是移动端的项目,需要根据视口设置字体大小。由于带我的人没有告诉我要在原来项目的基础上开发,我自己新建了一个项目。把静态页面写好了,然后复制过去的,结果复制过去,发现页面展示跟我原来项目里展示不一样。主要的问题就是:同一个浏览器,同一个视口(iphone6/7/8),同样的css设置,字体大小就是不一样。 如下图所示:我想要的样式:出问题后的样式:明显大了很多然后我去浏览器查了font-size属性大小:我想要的大小:出问题后的大小:同样的rem大小,同

2022-03-08 11:05:26 147

原创 微信小程序学习

1. 认识小程序1.2 认识小程序页面1.2.1 WXMLWXML(WeiXin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的HTML。WXML和HTML的区别标签名称不同HTML:div, span, img, aWXML:view, text, image, navigator属性节点不同<a href="#">超链接</a><navigator url="/pages/ho

2022-02-27 16:23:58 180

原创 CSS vh, vw 怎么计算?

是这样的,我在做一个移动端项目,使用了rem来做适配。前提:*{ padding: 0; margin: 0; box-sizing: border-box;}我给html, body, div#app容器设置了宽高分别为100vw和100vh,然后给div#app下的一个div.container容器设置了宽高为100%。但是,iphone6下却出现了滚动条,范围不大。然后通过控制台可以看到html,body,div#app和div.container宽高一样,如下图所示:但实际上

2022-02-19 23:19:55 802

原创 01. 微信小程序音乐播放器

项目简介最近在学微信小程序,所以打算做一个音乐播放器的微信小程序。项目需求(原型图)这个是我做的原型图,比较简陋(有些界面直接用了网易云音乐小程序的截图,因为是仿着网易云音乐来做的)首页播放页我的榜单(歌单)榜单(歌单)详情页最近播放页(暂无)后端后端使用网易云音乐 API,该项目具备登录接口,多达200多个接口。后续原型图可能会有修改...

2022-02-04 15:24:25 1135 1

转载 小程序学习

1. 网络API学习1.1 网络API使用注意事项1.1.1 服务器域名配置每个微信小程序需要事先设置通信域名,小程序只可以跟指定的域名进行网络通信。从基础库2.4.0开始,网络接口允许与局域网IP通信,但注意不允许与本机IP通信从2.7.0开始,提供了UDP通信(wx.createUDPSocket)从2.18.0开始,提供了TCP连接(wx.createTCPSocket),只允许与同个局域网内的非本机IP以及配置过的服务器域名通信使用微信云托管作后端,则无需配置通信域名配置流程

2022-01-28 14:29:50 1549

转载 CSS:单行文本溢出省略号替代,多行文本溢出省略号替代

前提:都要设置宽度参考:CSS实现单行、多行文本溢出显示省略号的实现方法

2022-01-28 12:55:19 117

转载 ECMAScript:事件

1. EventTarget接口1.1 概述事件的本质是程序各个组成部分之间的一种通信方式,也是异步编程的一种实现。DOM节点的事件操作(监听和触发),都定义在EventTarget接口。所有节点都部署了这个接口,其它一些需要事件通信的浏览器内置对象(比如,XMLHttpRequest、AudioNode、AudioContext)也部署了这个接口。该接口主要提供三个示例方法:addEventListener():绑定事件的监听函数removeEventListener():移除事件的监听函数

2021-12-27 14:34:36 168

原创 学习HTML5

1. HTML5简介HTML5是HTML最新的修订版本,2014年由万维网联盟(W3C)完成标准指定。HTML5的设计目的是为了在移动设备上支持多媒体。1.1 HTML5的改进1.1.1 HTML5 多媒体<video><audio>1.1.2 HTML5 应用本地数据存储访问本地文件本地SQL数据缓存引用JavaScript工作者XHTMLHttpRequest21.1.3 HTML5 图形<canvas>使用内联元素

2021-12-26 21:09:35 339

转载 history模式和hash模式

对于一个url来说,什么是hash值?——#及其后面的值就是hash值hash值不会包含在http请求中,即:hash值不会带给服务器hash模式:地址中永远带着#号,不美观若以后将地址通过第三方手机APP分享,若app校验严格,则地址会被标记为不合法兼容性好history模式:地址干净,美观兼容性与hash模式相比略差应用部署上线时需要后端人员支持,解决刷新页面服务器404的问题参考链接尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通...

2021-12-21 12:14:39 63

原创 JS对数组使用sort()不管用

let arr = []arr['string'] = 11arr['number'] = 4arr['object'] = 8arr['undefined'] = 5arr.sort((a, b) => { return a - b}) console.log(arr) //数组并没有发生变化为什么sort()没有执行呢?待解决。。。

2021-12-19 15:24:58 461 1

转载 交换两个数据的值

JS代码实现第一版(不能写在一个函数里,然后调用)let tmp = aa = bb = tmp第二版a = a + bb = a - ba = a - b第三版[a, b] = [b, a]扩展:交换数组里的两个数据[arr[i], arr[j] = arr[j], arr[i]]参考链接JavaScript交换两个变量值的七种解决方案...

2021-12-19 11:09:47 53

原创 牛客网刷题:寻找第K大

题目描述有一个整数数组,请你根据快速排序的思路,找出数组中第 k 大的数。给定一个整数数组 a ,同时给定它的大小n和要找的 k ,请返回第 k 大的数(包括重复的元素,不用去重),保证答案存在。要求:时间复杂度 O(nlogn)O(nlogn)O(nlogn)O(nlogn)O(nlogn)O(nlogn),空间复杂度 O(1)O(1)O(1)O(1)O(1)O(1)数据范围:0≤n≤10000≤n≤10000\le n \le 10000≤n≤10000≤n≤10000≤n≤1000, 1≤K≤

2021-12-19 10:57:01 366

转载 jQuery知识点

1. jQuery选择器作用:允许对元素组或单个元素进行进行操作1.1 元素选择器$('p') //选取p元素$('p.intro') //选取所有class='intro'的p元素$('p#demo') //选取所有id='demo'的p元素1.2 属性选择器$('[href]') //选取所有带有href属性的元素$('[href="#"]') //选取所有href=#的元素$('[href!="#")') //选取所有href!=#的元素$('[href$=".jpg"]') /

2021-12-15 09:18:46 53

原创 webpack中使用dev server时,报错找不到js文件

错误如上图,一开始我还以为是webpack.config.js里没有配置完整报错。找了好久,发现是我在index.html里加了下面的代码:<script src="./js/index"></script>把上面的代码删掉就行了。

2021-12-14 20:51:31 1428

原创 前端Tab栏实践

1. css使用display控制每项的展示index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>使用不同CSS切换效果的tab栏</title> <li

2021-12-14 17:35:46 405

转载 clientX&&screenX&&offsetX&&pageX

1. MouseEvent.clientX,MouseEvent.clientY说明MouseEvent.clientX属性返回鼠标位置相对于浏览器窗口左上角的水平坐标(单位px),MouseEvent.clientY返回**垂直坐标。**这两个属性都是只读属性。2. MouseEvent.screenX,MouseEvent.screenY说明MouseEvent.screenX属性返回鼠标位置相对于屏幕左上角的水平坐标(单位像素),MouseEvent.screenY属性返回垂直坐标。这两个属

2021-12-13 14:22:57 177

空空如也

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

TA关注的人

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