前端面试题
以基础为主,将每个指点剖析,了解并专研透彻
Jason_HeSL
这个作者很懒,什么都没留下…
展开
-
前端基础面试题11
同步和异步同步 指在 主线程上排队执行的任务,只有前一个任务执行完毕,才能继续执行下一个任务。 也就是调用一旦开始,必须这个调用 返回结果(划重点——)才能继续往后执行。程序的执行顺序和任务排列顺序是一致的。 异步 异步任务是指不进入主线程,而进入 任务队列的任务,只有任务队列通知主线程,某个异步任务可以执行了,该任务才会进入主线程。 每一个任务有一个或多个 回调函数。前一个任务结束后,不是执行后一个任务,而是执行回调函数,后一个任务则是不等前一个任务结束就执行。原创 2021-06-17 22:12:27 · 101 阅读 · 0 评论 -
前端基础面试题10
介绍下 Set、Map、WeakSet 和 WeakMap 的区别?Set 成员不能重复; 只有键值,没有键名,有点类似数组; 可以遍历,方法有 add、delete、has WeakSet 成员都是对象(引用); 成员都是弱引用,随时可以消失(不计入垃圾回收机制)。可以用来保存 DOM 节点,不容易造成内存泄露; 不能遍历,方法有 add、delete、has; Map 本质上是键值对的集合,类似集合; 可以遍历,方法很多,可原创 2021-06-16 22:27:10 · 78 阅读 · 0 评论 -
前端基础面试题9
indexof语法:str.indexOf(searchValue [, fromIndex])参数:searchValue:要被查找的字符串值。如果没有提供确切地提供字符串,[searchValue 会被强制设置为 "undefined"], 然后在当前字符串中查 找这个值。举个例子:'undefined'.indexOf() 将会返回0,因为 undefined 在位置0处被找到,但是 'undefine'.indexOf() 将会返回 -1 ,因为字符串 'undefined' 未被找原创 2021-06-15 22:28:10 · 131 阅读 · 0 评论 -
前端基础面试题8
盒子塌陷是什么?本应该在父盒子内部的元素跑到了外部。关于盒子塌陷的几种解决方法(1)最简单,直接,粗暴的方法就是盒子大小写死,给每个盒子设定固定的width和height,直到合适为止,这样的好处是简单方便,兼容性好,适合只改动少量内容不涉及盒子排布的版面。缺点是非自适应,浏览器的窗口大小直接影响用户体验。(2)给外部的父盒子也添加浮动,让其也脱离标准文档流,这种方法方便,但是对页面的布局不是很友好,不易维护。(3)给父盒子添加overflow属性。overflow:auto; 有可原创 2021-06-14 22:28:25 · 71 阅读 · 0 评论 -
前端基础面试题7
CSS样式优先级样式类型样式类型分为三类:行间、内联、外部;1、行间<h1 style="font-size:12px;color:#000;">我的行间CSS样式。</h1>2、内联<style type="text/css"> h1{font-size:12px; color:#000; }</style>3、外部<link rel="stylesheet" href...原创 2021-06-13 20:48:44 · 95 阅读 · 0 评论 -
前端基础面试题6
未知高度元素垂直居中的实现方式有哪些?1、绝对定位+css3 transform:translate(-50%,-50%).wrap{ position:relative;}.child{ position: absolute; top:50%; left:50%; -webkit-transform:translate(-50%,-50%);}2、css3 的flex布局.wrap{ display:flex; justify-...原创 2021-06-12 22:11:58 · 104 阅读 · 0 评论 -
前端基础面试题5
Vue2.0的数据响应是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty () 来劫持各个属性的setter、getter,但是它并不算是实现数据的响应式的完美方案,某些情况下需要对其进行修补或者hack这也是它的缺陷,主要表现在两个方面: vue 实例创建后,无法检测到对象属性的新增或删除,只能追踪到数据是否被修改 不能监听数组的变化 解析: vue 实例创建后,无法检测到对象属性的新增或删除,只能追踪到数据是否被修改(Object.def原创 2021-06-11 21:52:38 · 79 阅读 · 0 评论 -
前端基础面试题4
vue的双向数据绑定原理是什么?vue数据双向绑定是通过数据劫持结合“发布者-订阅者模式”的方式来实现的。 vue是通过Object.defineProperty()来实现数据劫持,其中会有getter()和setter方法;当读取属性值时,就会触发getter()方法,在view中如果数据发生了变化,就会通过Object.defineProperty()对属性设置一个setter函数,当数据改变了就会来触发这个函数;手写代码:...原创 2021-06-10 20:10:17 · 123 阅读 · 0 评论 -
前端基础面试题3
null 和 undefined 的区别:状态不同,undefined是一种原始的值,非人为操作;null是被人置空;undefined 的字面意思就是:未定义的值 。这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果 。 这种原始状态会在以下 4 种场景中出现: 声明了一个变量,但没有赋值 访问对象上不存在的属性 函数定义了形参,但没有传递实参 使用 void 对表达式求值 因此,undefined 一般都来自于某个表达式最原始的状态值,不是人原创 2021-06-09 19:48:47 · 94 阅读 · 0 评论 -
前端基础面试题2
HTML中的引入方式有哪几种?答:link和@importlink的引入方式:<link href="index.css" rel="stylesheet">@import的引入方式:<style type="text/css"> @import url(index.css); </style>拓展:link和@import的区别1、引入的内容不一样link除了引入样式文件,还能引入图片等外部文件,而@import只能引入样式文件。2、原创 2021-06-08 20:42:43 · 58 阅读 · 0 评论 -
前端基础面试题1
HTML中标签的类型,他们的作用分别是什么样的!DOCTYPE:!DOCTYPE与body、head一样,都属于标签属性。它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。head:1、它是所有头部元素的容器, 绝大多数头部标签的内容不会显示给读者。2、该标签下所包含的部分可加入的标签有 <base>,<link>, <meta>, <script>, <style>和<title>。bod原创 2021-06-08 07:59:58 · 107 阅读 · 0 评论