![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 52
如果决定要走又何必挽留
学习交流群:862404453
展开
-
面试题-9
1.使用Vue.extend()创建一个组件2.使用Vue.components()方法注册组件3.如果子组件需要数据,可以在props中接收定义4.子组件修改好数据,要把数据传递给父组件,可以用emit()方法原则:把功能拆开尽量让组件原子化,一个组件做一件事情容器组件管数据,展示组件管视图。原创 2023-11-22 22:00:56 · 277 阅读 · 0 评论 -
面试题-8
params传参路由属性传参配置路由{path:'/index:id'}query传参(可以解决页面刷新参数丢失的问题)})原创 2023-11-22 11:11:13 · 78 阅读 · 0 评论 -
面试题-7
都可以控制元素的显示和隐藏1.v-show是控制元素的display值来让元素显示和隐藏,v-if显示隐藏时把DOM元素整个添加和删除2.v-if有一个局部编译/卸载的过程,切换这个过程中会适当的销毁和重建内部的事件监听和子组件;v-show只是简单的css切换。原创 2023-11-21 22:40:01 · 144 阅读 · 0 评论 -
面试题-6
JSON是一种纯字符串形式的数字,它本身不提供任何方法,适合在网络中传输JSON数据储存在.json文件中,也可以把JSON数据以字符串的形式保存在数据库中,Cookie中JS提供了JSON.parse() JSON.stringify()什么时候使用json:定义接口;序列化;生成token;配置文件package.json。原创 2023-11-20 22:39:00 · 608 阅读 · 0 评论 -
面试题-5
如果一个函数内可以调用函数本身,那么这个就是递归函数函数内部调用自己特别注意:写递归必须要有退出条件return。原创 2023-11-18 15:08:07 · 136 阅读 · 0 评论 -
面试题-3
原型就是一个普通对象,它是为构造函数实例共享属性和方法,所有实例中引用原型都是同一个对象使用prototype可以把方法挂载在原型上,内存值保存一致_proto_可以理解为指针,实例对象中的属性,指向了构造函数的原型(prototype)原创 2023-11-17 19:31:03 · 94 阅读 · 0 评论 -
面试题-2
重排(回流):布局引擎会根据所有的样式计算出盒模型在页面上的位置和大小重绘:计算好盒模型的位置,大小和其他一些属性之后,浏览器就会根据每个盒模型的特性进行绘制浏览器的渲染机制:对DOM的大小,位置进行修改后,浏览器需要重新计算元素的这些几何属性,就叫重排对DOM的样式进行修改,比如color和background-color,浏览器不需要重新计算几何属性的时候,直接绘制了该元素的新样式,那么这里就只触发了重绘。原创 2023-11-15 19:30:18 · 73 阅读 · 0 评论 -
前端面试题
在HTML页面中的所有元素都可以看成一个盒子盒子的组成:内容content,内边距padding,外边框border,外边距margin盒模型的类型标准盒模型 :margin+border+padding+contentIE模型 :margin+content(border+padding)原创 2023-11-14 19:32:12 · 62 阅读 · 0 评论 -
wps秋招题
wps秋招题原创 2022-10-17 14:53:33 · 454 阅读 · 0 评论 -
this的大厂面试题
大厂this指向的题原创 2022-10-16 15:33:14 · 396 阅读 · 1 评论 -
函数的面试题
路由是什么?路由反应的是组件和路径的一种映射的关系。配置路由的文件原创 2022-05-12 19:19:25 · 235 阅读 · 0 评论 -
如何实现图片的懒加载
一.图片懒加载的意义(为什么要使用图片懒加载)对页面加载速度影响最大的就是图片,一张普通的图片可以达到几M的大小,而代码也许就只有几十KB。当页面图片很多时,页面的加载速度缓慢,几分钟页面还没有加载完毕会失去很多的用户。所以,对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区域后再取加载。这样子对于页面加载性能上会有很大的提升,也提高了用户体验。二.原理将 ...原创 2021-12-28 21:34:33 · 465 阅读 · 0 评论 -
如何自定义指令 (16)
一.注册一个全局的指令在Main.js中通过Vue.directive进行指令的全局注册, 使用通过v-自定义的名字来进行使用。 <input type="text" v-focus />1.代码:Vue.directive('focus', { // 当绑定是元 inserted: function (el) { el.focus() }})配置项目中有两项,第一项自定义指令的名字,第二项是生命周期的钩子, 钩子有:bind 一开始就触.原创 2021-12-26 18:05:46 · 290 阅读 · 0 评论 -
计算属性和watcher的使用区别(15)
一.结论1.computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其他处理;2.watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,它可以监控一个变量,也可以是一个对象,一般用于监控路由、input输入框的值特殊处理等等,它比较适合的场景是一个数据影响多个数据,它不具有缓存性3.watch:监测的是属性值, 只要属性值发生变化,其都会触发执行回调函数来执行一系列操作原创 2021-12-26 15:48:09 · 453 阅读 · 0 评论 -
如何减少页面的重绘和回流(14)
一.减少页面重绘和回流的方法1.尽量使用css属性简写:如:用boder代替boder-width,boder-style,boder-color2.批量修改元素样式elem.className3.尽量避免用table布局(table元素一旦触发回流就会导致table里所有的其它元素回流)4.需要创建多个DOM节点时,使用DocumentFragment创建。因为:每次创建一个页面就会发生回流,所以采用DocumentFragment批量创建5.尽量去写css表达式。因为每次调用都.原创 2021-12-26 11:22:22 · 3135 阅读 · 0 评论 -
for in 和for of的区别(13)
一.结论for in 遍历的是数组的索引(即键名),而for of遍历的是数组元素值for in总是得到对象的key或数组,字符串的下标for of总是得到对象的value或数组,字符串的值二.代码(1)通过for in去遍历对象总是拿到key,通过for of遍历对象总是拿到value 图示: var obj={ name:'女神', age:22 } // 1.通过for in遍历对象总是拿到key for (let ke..原创 2021-12-26 09:38:08 · 421 阅读 · 0 评论 -
Set(),Map()的使用(12)
一.谈谈set,map是什么?set 是es6 提供的一种新的数据结构,它类似于数组,但是成员的值都是唯一的。map 是es6 提供的一种新的数据结构,它类似于对象,也是键值对的集合,但是键的范围不仅限于字符串,各种类型的值都可以当做键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。二.Set()方法表现的形式: add(val原创 2021-12-25 20:18:50 · 428 阅读 · 0 评论 -
new 操作符具体干了什么呢?(11)
1.创建一个空对象:并且this变量引入该对象,同时还继承了函数的原型 2.设置原型链3.4.原创 2021-12-25 16:27:03 · 494 阅读 · 0 评论 -
hash路由和history的区别(10)
单页面应用是在移动互联网时代诞生的,它的目标是不刷新浏览器,而通过感知地址栏中的变化来决定内容区域显示什么内容。要达成这个目标,我们要用到前端路由技术,具体来说有两种方式来实现: hash模式和history模式。不同之处有三点。一是原理不同。hash模式的实现原理是通过监听hashChange事件来实现的。history模式是通过调用history.pushState方法(或者replaceState)并且 监听popstate事件来实现的。history.pushState会追加历史记录,并原创 2021-12-25 11:34:56 · 164 阅读 · 0 评论 -
组件化,工程化,模块化(9)
一.组件化,工程化,模块化是什么组件化:组件是将可复用的代码提取出来,其最大的特点,独立性良好,代码层次位于最底层。模块化:将同一类型的代码进行组合,封装成独立的模块,每个模块各司其职,功能上存在一定的依赖,相互之间的耦合性较小,划分比较清晰。就像是独立的功能和项目(如淘宝:注册,登录,购物,直播)。可以调用组件组成模块,多个模块组合成业务框架。架构的定义是横向分块。工程化:工程化是上面几个的集合,工程化和搭建房子一行,上面东西都会成为你的利器,前端工程化主要是前后端分离,复杂流程拆分,原创 2021-12-24 17:50:32 · 485 阅读 · 0 评论 -
面试题 bfc的应用(8)
一.bfc的作用bfc是块级格式上下文,形成独立的渲染区域,内部元素的渲染不会影响到外界。二.形成BFC常见的条件浮动元素 float绝对定位元素 position 是absolute 或fixed块级元素: overflow 不是visibleflex 元素inline-----block元素。二.应用场景例如:在一个div容器里面有两个盒子,第一个盒子放图片,第二个盒子放一个p标签装文字,现在需求,将两个盒...原创 2021-12-24 16:19:55 · 246 阅读 · 0 评论 -
父子组件的生命周期钩子 面试题(6)
父子组件的生命周期钩子1.创建阶段beforeCreated(父)---------------->Created(父)------------------->beforeCreated(子)--------------------->Created(子)----------------Mounted(子)-----------------Mounted(父)2.加载渲染beforeCreated(父)--------------->Created(父)-------原创 2021-12-24 01:26:27 · 1627 阅读 · 0 评论 -
// Event Loop/事件循环/事件环(5)
1.关于事件循环的回答1. JS 代码的执行分为同步代码(任务)和异步代码(任务:微任务=> Promise.then、MutationObserver + 宏任务 => 定时器)2.当碰到同步代码时直接执行栈中执行3.当碰到异步并且时机符合时(列如定时器时间到了,例如AJAX请求你发起了...),就会把异步的代码添加到任务队列当中4.【当执行栈中同步代码执行完毕后,就去任务队列中把异步任务拿带执行栈中执行】、5.这种反复执行任务队里的操作就是Event Loop(事件循..原创 2021-12-17 21:05:21 · 209 阅读 · 0 评论 -
防抖和节流面试题(4)
一.防抖1.概念持续触发不执行,不触发的一段事件后才执行2.应用场景根据输入框的内容请求接口3.生活中的例子王者荣耀回城4.封装const debounce = (fn, time) => { let timer = null return function (...args) { clearTimeout(timer) // this => oDiv原创 2021-12-14 10:45:18 · 2471 阅读 · 0 评论 -
面试题 Promise 面试题 , Rem,内存泄漏 (3)
一.Promise1.是什么?Promise是一个对象,一般作为构造函数来使用(new Promise) ,它里面有3种状态,pending(处理中),fuilfiled(成功),rejected(失败)。2.怎么用拿到一个Promise实例后,具有then和catch方法,一般then里面拿到成功的结果,catch拿到失败的结果。3.解决了什么问题它主要解决了回调地狱的问题,但是Promise并不能简化代码。4.有什么替代方案所以我一般工作的时候都会配合async/aw原创 2021-12-10 20:02:09 · 722 阅读 · 0 评论 -
前端面试题 数据类型的判断(2)
一. typeof 不能准确的判断数据类型(1):利用typeof检测 var arr=[10,20,30,40] console.log(typeof null); // Object console.log(typeof arr);// Object返回的结果的object,不能准确的判断数据类型二. instanceof 检查数据类型...原创 2021-12-09 20:45:46 · 306 阅读 · 0 评论 -
前端面试题(1) ,call apply bind
(1)call、apply、bind三者的异同共同点 : 都可以改变this指向; 不同点: call 和 apply 会调用函数, 并且改变函数内部this指向. call 和 apply传递的参数不一样,call传递参数使用逗号隔开,apply使用数组传递 bind 不会调用函数, 可以改变函数内部this指向. 应用场景 call 经常做继承. apply经常跟数组有关系. 比如借助于数学对象实现数组最大值最小值 bind 不调用函数,但是还想改变this指向. 比如改变原创 2021-12-07 11:35:17 · 369 阅读 · 0 评论