![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
shuoxi666
这个作者很懒,什么都没留下…
展开
-
margin塌陷和margin合并
margin塌陷什么是margin塌陷父子元素在垂直方向的margin,父子元素是结合在一起的,他们两个的margin会取两者的最大值,正常情况下,父级元素相当于浏览器定位,子级元素相当于父级元素进行定位,但由于margin塌陷,父级相当于浏览器定位,而子级没有相对父级定位,这就是margin塌陷例子: <div class="father"> <div class="son"></div> </div> &l原创 2020-09-11 16:47:33 · 165 阅读 · 0 评论 -
let,const----ES6学习笔记
ES6新增了let命令,作用类似与var,用于 声明变量。let相比于var的改进之处:一:不存在变量提升var存在变量提升,即可以使用没有声明的变量,值为undefined,let声明的变量不存在变量提升,它所声明的变量一定要在声明后使用,否则报错。 //var console.log(demo); //undefined var demo = 10; ...原创 2019-11-20 21:22:48 · 142 阅读 · 0 评论 -
css元素水平垂直居中的几种方法
1.元素水平居中水平居中最好用的就是 margin: 0 auto居中没有效果的原因1.元素没有设置宽度,没有宽度,肯定是无法居中的2.设置了宽度仍然无法居中,你设置的是行内元素,只有是块级元素才有用实例:<div class="father"> <div class="son"></div> </div> <style> .father{ height: 300px; w.原创 2020-09-11 14:24:03 · 233 阅读 · 0 评论 -
li之间有空隙,怎么解决
原因:浮动后li之间的的空隙是空白字符造成的1.删除所有的换行符 <ul> <li>学生</li><li>老师</li><li>校长</li> </ul>2.可以将li的标签不闭合. <ul> <li>学生 <li>老师 <li>校长 </ul>3.可以设置负边距. 不过负边原创 2020-09-11 10:28:59 · 689 阅读 · 0 评论 -
css选择器及权重
css选择器及权重 1.id选择器 #first 选择id="first" 的所有元素 2.类选择器 .first 选择class="first"的所有元素 3.属性选择器 [target] 选择带有 target 属性所有元素。 4.标签选择器 p 选择所有p标签 5.通配符选择器 * 选择所有元素css选择器权重(256进制)!important 无穷大行间样式原创 2020-09-11 09:48:49 · 154 阅读 · 0 评论 -
html5新增标签
常用标签:article: 定义独立的内容。aside:定义 article 标签外的内容。footer:标签定义文档或者文档的一部分区域的页脚。header:标签定义文档或者文档的一部分区域的页眉。nav:标签定义导航链接的部分。section: 标签定义了文档的某个区域。比如章节、头部、底部或者文档的其他区域。audio: 标签定义声音,比如音乐或其他音频流。video:标签定义视频,比如电影片段或其他视频流。canvas: 标签通过脚本(通常是 JavaScript)来绘制图形(比如原创 2020-09-11 08:52:32 · 83 阅读 · 0 评论 -
js实现对象深度克隆的两种方法
1.递归法//深度克隆 var obj = { name: "shishuo", age: 20, wife: { name: "xiazixi", age: 20 } } function deepClone(origin,target){ for(var prop in obj){ if(origin.hasOwnProperty(prop原创 2020-09-08 18:07:26 · 1109 阅读 · 0 评论 -
面试题总结(2020-9-8)
1.排序稳定的算法有:冒泡排序,插入排序,基数排序,归并排序2. 以下单词不属于javascript关键字的是:A:withB:voidC:parentD:class正确答案是 C3.把鼠标移到按钮并点击,会产生一串什么样的事件把鼠标移到按钮并点击时,会产生一串hover->focus->active (悬停->聚焦->响应)事件。4. function s(ary){ ary[0] = ary[2] } function bar(a原创 2020-09-08 16:03:55 · 344 阅读 · 0 评论 -
8大排序算法的稳定性和时间复杂度
什么是稳定性:通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在Aj位置前,排序后Ai还是要在Aj位置前。(1)直接插入排序:一般插入排序,比较是从有序序列的最后一个元素开始,如果比它大则直接插入在其后面,否则一直往前比。如果找到一个和插入元素相等的,那么就插入到这个相等元素的后面。插入排序是稳定的。(2)希尔排序:希尔排序是按照不同步长对元素进行插入排序,一次插入排序是稳定的,不会改变相同元素的相对顺序,原创 2020-09-08 14:58:45 · 1235 阅读 · 0 评论 -
js 手写 ajax
ajax 在我们的开发工作中已经司空见惯,几乎所有我们频繁使用的库和框架都提供了经过完善封装的ajax方法,如jQuery,zepto,angular等等,这使得我们的数据请求都变得异常简洁明了但是这也带来了很明显的缺陷,就是我们知道如何区使用封装后的ajax,却不会通过原生的js来写ajax这次就亲手实现以下原生js的ajaxXMLHttpRequest对象我们常用的ajax就是用过XMLHttpRequest对象实现的。这个对象有很多的属性和事件,在使用之前,我们需要将它实例化 const原创 2020-09-07 10:51:16 · 828 阅读 · 0 评论 -
DOM 中attribute 和 property的区别
Attribute vs Property第一个问题:什么是 attribute & 什么是propertyattribute是我们在html代码中经常看到的键值对,例如 <input id="the-input" type="text" value="Name:" />上面代码中的 input 节点有三个 attribute:id:the-inputtype:textvalue:Name:property是attribute对应的DOM节点的对象属性 ,例如原创 2020-09-07 09:41:53 · 831 阅读 · 2 评论 -
vue的编译原理
解析器:将模板解析为 AST优化器:遍历 AST 标记静态节点代码生成器:使用 AST 生成渲染函数原创 2020-08-23 10:28:34 · 238 阅读 · 0 评论 -
何时需要使用beforeDestroy
理解:可能在当前页面中使用了 $on 方法,需要在组件销毁前解绑。清除自己定义的定时器解除事件的绑定 scoll mousemove …原创 2020-08-22 09:35:39 · 3128 阅读 · 0 评论 -
ajax请求放在哪个生命周期中
理解:在 created 的时候,视图中的dom并没有渲染出来,所以此时如果直接去操作dom节点,无法找到相关的元素在 mounted 中,由于此时 om 已经渲染出来了,所以可以直接操作dom节点。一般情况下都放到 mounted 中,保证逻辑的统一性,因为生命周期是同步执行的,ajax 是异步执行的。由于服务段渲染不支持 mouted 方法,所以在服务端渲染的情况下统一放到 created 中...原创 2020-08-22 09:15:58 · 1639 阅读 · 0 评论 -
浅析vue.nextTick原理
目录什么是vue.nextTick()这篇文章的基础是js的event loop(事件循环),还不熟悉事件循环机制的可以看下这篇博客event loop什么是vue.nextTick()vue.nextTick()是转载 2020-08-21 09:43:26 · 579 阅读 · 0 评论 -
vue为什么采用异步更新
vue为什么要采用异步更新前言首先要明确一点:vue是组件级更新,也就是说,每一次的更新都是渲染整个组件,如果是同步的话,一旦修改了data属性,便会触发对应的 watcher,然后调用对应 watcher 下的 update 方法更新视图,那么结果显而易见,太频繁了 !如下代码:data(){ a:1, b:2, c:3}//如果是同步的话 修改data中的属性 //this.a = 2;this.b = 3;this.c = 4; 这样会调用三次update方法渲染视图,很耗性原创 2020-08-15 11:31:57 · 2301 阅读 · 0 评论 -
判断一个对象是否是数组的方法
判断一个对象是否是数组,最高效的方法是使用Array.isArray()方法,但是此方法不兼容 IE6–IE8,所以想要在任何浏览器上都能判断数组,就要进行改进以下是改进后的代码,适用于任何浏览器 function is_Array(obj){ if(Array.isArray){ return Array.isArray(obj) } return typeof obj === "object"&&Obj原创 2020-05-28 11:39:34 · 440 阅读 · 0 评论 -
前端面试题最全汇总
前端面试题汇总最近在github上找到一个前端面试题的合集,每一个问题出现的频率都很高转载自: https://github.com/qiu-deqing/FE-interviewFE-interviewHTML, HTTP,web 综合问题常见排序算法的时间复杂度,空间复杂度前端需要注意哪些 SEOweb 开发中会话跟踪的方法有哪些<img>的title和alt有什么区别doctype 是什么,举例常见 doctype 及特点HTML 全局属性(global attr转载 2020-05-16 09:56:12 · 314 阅读 · 0 评论 -
map()和filter()深度详解
数组的<code>map()</code>和<code>filter()</code>方法使用频率非常高,两者用法极其类似<code>map()</code>方法 “map” 映射的意思,用法和forEach类似,callback(回调函数)的参数也一样[].map(function(item,index,arr){}) map方法的作用不难理解,“映射”嘛,也就是原数组被“映射”成对应新数组...原创 2020-05-15 18:47:51 · 848 阅读 · 0 评论 -
前端面试----第2天
文章目录[html]:请列举常用的块级元素和行级元素[css]:css3有哪些新增的特性?[JS]:写一个方法去除字符串中的空格[html]:请列举常用的块级元素和行级元素[css]:css3有哪些新增的特性?[JS]:写一个方法去除字符串中的空格...原创 2019-12-14 12:07:59 · 106 阅读 · 0 评论 -
前端面试题----第1天
文章目录[HTML]link和@import的区别[CSS]圣杯布局和双飞翼布局[JS]用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值[HTML]link和@import的区别1.link是HTML标签,@import是css提供的2.link没有浏览器兼容性问题,@import不兼容ie5以下3.link可以使用js操作DOM动态引入或去除样式,@import不...原创 2019-12-12 19:38:35 · 161 阅读 · 1 评论