![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
彭yanyan
这个作者很懒,什么都没留下…
展开
-
排序算法
排序算法还是很重要的!!!!n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同冒泡排序核心就是一趟一趟交换,把大的项换到后面(升序的话)。// 冒泡排序function bubbleSort(arr) { let temp for(let i=0; i<arr.length; i++) { for(let j=0; j<a.原创 2020-09-01 17:05:57 · 154 阅读 · 0 评论 -
webpack打包项目文件
在项目开发中想了解一下使用webpack打包vue项目的具体操作1、在命令窗口中使用npmrun dev/serve启动package.json中配置的脚本运行项目2、在build/dev-server.js文件中const configer = require('../config')const config = configer();console.log(config)if (!process.env.NODE_ENV) { process.env.NODE_ENV = .原创 2020-08-19 16:06:59 · 208 阅读 · 0 评论 -
关于this.$refs是undefined
问题最近在做开发的时候,遇到这样一个问题:从后端请求到一个图片列表,需要根据返回图片的情况设置元素的宽度,这就需要这样计算list的宽度imgList.length *imgElement.clientWidth(为了在各种移动端自适应,不能直接写死宽度,需要通过元素拿到宽度)。但是在mouted钩子中请求完数据之后,this.$refs.img是undefined。原因及解决方案后来查询原因,因为我的img元素使用了v-for命令,是根据后台返回数据动态响应的(还有类似的v-if、v-s.原创 2020-07-16 17:49:03 · 1139 阅读 · 0 评论 -
面试代码题
扁平化数组function fn(arr) { let newArr = [] arr.forEach((item) => { if(Array.isArray(item)) { newArr.push(...fn(item)) } else { newArr.push(item) } }) return newArr}//或者arr.join().split(',')随机打乱数组arr.sort(function原创 2020-05-14 14:33:33 · 170 阅读 · 0 评论 -
JS的浅拷贝和深拷贝
深拷贝和浅拷贝JS的变量分为基本类型和引用类型,基本类型存储在栈中,而引用类型实际对象存储在堆内存中,栈中保存着对象在堆内存的地址。一般我们对引用类型变量做浅拷贝(obj1 = obj2),只能复制栈中的内存地址给新对象,指向的仍是同一片内存区域,一旦修改摸一个对象另一个对象也会被改变。深度拷贝是相对于浅拷贝而言的,是另外开辟出一个内存空间存储另一个一模一样的引用对象。深拷贝和浅拷贝都是针对引...原创 2020-04-18 11:45:22 · 132 阅读 · 0 评论 -
面经汇总(三)——浏览器和HTTP协议
浏览器cookie,sessionStorage和localStorage相同点:cookie,sessionStorage和localStorage都是存储在浏览器端的。 不同点:cookie数据始终在浏览器请求中被携带,在浏览器端和服务器端来回传递的;sessStorage和localStorage同属于webStorage,仅在本地保存,不会传递到服务器端 存活时间:cookie...原创 2020-04-14 10:02:14 · 939 阅读 · 0 评论 -
跨域
什么是跨域当协议、域名、端口有一个或多个不同时,有希望可以访问并获取到数据的现象称为跨域访问。在同源限制下,cookie、localStorage、ajax、dom、indexDB都是不支持跨域的在同源限制下,可以正常访问到后台服务器,服务器也会正常返回数据,但是会被浏览器拦截。CORS参考阮一峰的http://www.ruanyifeng.com/blog/2016/04/c...原创 2020-04-12 13:26:08 · 335 阅读 · 0 评论 -
堆和栈
栈栈是一片内存区域,保存的是局部变量。是先加载因为函数在定义局部变量,因此是方法先进栈,再定义变量。退出函数环境,局部变量就会失效,因此栈的更新速度很快堆堆存储的是数组和对象,凡是new建立的都在堆中。堆中存放的是对象实体,如果引用该对象的变量消失该实体也不会消失,因此堆不会被释放,但是会被垃圾回收器回收。...原创 2020-04-08 15:04:29 · 92 阅读 · 0 评论 -
前端路由和后端路由
路由就是一个匹配过程,将url映射到相应的函数里,这个函数可以是前端的函数,也可以是后端的函数,然后由这个函数决定返回给这个url什么东西。后端路由在web开发的早期,一直是后端路由占主导地位。后端服务器都会专门开辟出一个路由模块,用来专门匹配url地址,表单提交以及ajax请求的地址,如果没有找到就会返回404错误。一般我们在地址栏中输入一个url,按下enter键之后都是通过get...原创 2020-04-03 15:06:58 · 329 阅读 · 0 评论 -
多页面应用和单页面应用
多页面应用每次页面跳转,后端都会返回一个新的HTML文件。优点:首屏时间快,SEO效果好缺点:页面切换慢。每次跳转页面都要发一个HTTP请求。单页面应用只在首次加载时请求一个HTML文件,页面切换的路由由前端完成,使用JS动态地删除和渲染页面。优点:页面切换快缺点:首屏时间稍慢,SEO效果差,因为页面由JS渲染生成,而搜索引擎不能识别JS的内容...原创 2020-04-03 13:35:59 · 129 阅读 · 0 评论 -
清除浮动的集中方法
在日常开发中经常要使用float,float是不属于正常的文档流的,当一个父元素中的子元素都设置为浮动时,会导致父元素坍塌,即高度为0。为了让父元素能正常包裹住子元素,要清除浮动。总结一下,消除浮动常见的几种方法1.使用BFC清除浮动 <style> .parent{ /*创建BFC清除浮动*/ position: absolute; ...原创 2020-04-02 23:36:08 · 144 阅读 · 0 评论 -
CSS图片防抖
在页面加载时,如果网速较慢或者图片较大导致图片的加载较慢,出现图片抖动的现象。最简单的方法就是直接为图片占一个固定高宽的位置.img-wrapper{ width: 400px; height: 375px;}但是这样做不到响应式布局(一个网站兼容多个浏览器)那么以百分比来表示?.img-wrapper{ width: 100%; heig...原创 2020-03-29 16:40:30 · 820 阅读 · 0 评论 -
面经汇总(二)——vue、ES6和webpack
Vuevue中数据的双向绑定vue是一个MVVM的框架,数据与view层是双向绑定在一起的,只要其中一方发生变化另一方也会随之发生变化。vue中的双向绑定是通过数据劫持和事件监听来实现的。分为两个部分,data更新view通过数据劫持实现;view更新data通过事件监听实现。<input id="input" type="text"/><div id="te...原创 2020-03-26 13:12:04 · 341 阅读 · 0 评论 -
关于z-index = -1和background
根据这个七层叠层图,可以看出即使元素的z-index = -1,也会显示在背景图之上,在z-index = 1 的元素之下注意z-index只有在定位元素上有效(position:absolute, position:relative, or position:fixed)<div class="shopcart"> <div class="left">...原创 2020-03-11 19:23:45 · 1362 阅读 · 0 评论 -
CSS控制文本显示行数,超出隐藏
内容转载 2020-03-10 22:27:38 · 489 阅读 · 0 评论 -
关于vrtical-align
vertical-align可以设置行内元素的基线相对于父元素基线的垂直对齐方式,还可以设置表格单元中的内容的垂直对齐方式对于vertical-align的一个应用就是设置元素的垂直对齐//HTML<div class="parent"> <div class="child">要居中的子元素。</div></div>//CSS&...原创 2020-03-10 16:26:29 · 117 阅读 · 0 评论 -
关于element.style对象的误区
元素的style对象和该元素的CSS样式列表根本没有关系!!!在CSS列表中设计的样式在style对象中根本体现不出来,打印出来是空。如我在list中设计了left:0px;访问list.style.left是空字符串。...原创 2020-03-08 15:20:08 · 243 阅读 · 0 评论 -
面经汇总(一)——JS基础、HTML、CSS
目录HTTP协议/浏览器1.cookie,sessionStorage和localStorage2.MVVM(Model-View-ViewModel)HTTP协议/浏览器1.cookie,sessionStorage和localStoragecookie,sessionStorage和localStorage都是存储在浏览器端,并且是同源的。cookie数据始终在同...原创 2020-03-05 15:01:01 · 401 阅读 · 0 评论 -
CSS布局:两栏自适应布局
在日常开发中进场会遇到需要将几个元素排成一行的需求,这时有几种办法实现使用float 使用flex布局在这个购物车的实现中,使用左侧右侧使用flex布局实现,在左侧中又有两个子元素(购物车和配送¥9)需要并列布局,这时可以使用float实现。在菜鸟文档中给出解释“设为Flex布局以后,子元素的float、clear和vertical-align属性将失效”,但是在实现中发现,在设为flex的...原创 2020-03-02 15:10:41 · 790 阅读 · 0 评论 -
页面scroll的高度
在做项目时有很多时候需要根据页面的scroll高度做一些操作获取某元素的的高度:element.clientHeight获取视图的滚动高度:element.scrollTop(菜鸟的解释:返回当前视图中的实际元素的顶部边缘和顶部边缘之间的距离)滚动到指定元素(better-scroll):this.scroll.scrollToElement(element)...原创 2020-02-28 14:42:41 · 642 阅读 · 0 评论 -
使用keep-alive优化页面
在使用vue-router切换页面时,在mounted钩子函数中请求axios数据会造成一个现象:从一个页面切换出去再回来时会重复请求数据(每次切换页面axios都会被发送)。这是可以使用keep-alive优化页面这样表示路由中的内容被加载过一次以后就会放到内存中,当再切换到这个页面是不会再重新渲染这个组件,重新执行钩子函数的,直接读取内存中的的内容显示页面。如果在keep-alive的...原创 2020-02-28 12:04:08 · 165 阅读 · 0 评论