前端面试总结
123啥都不让写气
火腿肠烧烤大赛冠军
F=-F
展开
-
js的执行过程(待补全)
js执行主体分为两个阶段:预编译和执行预编译执行从上至下依次执行案例按顺序执行得如下结果解释:创建oa对象 初始值均为undefined形参变量相统一 a b被赋值为1.2函数覆盖变量依次执行如下...原创 2021-12-09 10:24:50 · 334 阅读 · 0 评论 -
前端基础-运行环境
网页加载过程页面加载的形式页面加载的过程渲染过程window.onload和DOMContentLoaded的区别性能优化性能优化原则从哪里考虑加载更快渲染更快缓存防抖<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE原创 2021-08-08 15:58:56 · 93 阅读 · 0 评论 -
Vuex小白理解
vuex包括:1.state :::::::存储状态2.mutation 用store.commit来改变state的存储状态3.action :::::actions像一个装饰器,提交mutation,而不是直接变更状态。(actions可以包含任何异步操作)4.getters :::相当于state的计算属性5.modules 派生出自己的模块 使用时候根据不同的小仓库来调用其实无论是vue还是react其实还是提倡单向数据流去管理状态vue为UI控件提供了双向原创 2020-12-11 16:44:44 · 199 阅读 · 0 评论 -
keep-alive数据刷新问题
有时候实时数据需要刷新但由于缓存会显示之前的数据 用户点击之后会报错:处理方式如下:(1)在vuex中设置状态,动态绑定 include 值,在登录的时候缓存需要缓存的组件,在退出的时候,清除需要刷新的组件(效果很理想,也顺带解决了加载数据时,数据闪现的情况) 或者exclude写入不缓存的(2)放在actived中获取数据(3)tips:beforeRouteEnter --> created --> mounted --> activated --> deactiv原创 2020-12-11 10:22:56 · 1861 阅读 · 0 评论 -
易理解的Promise封装
//promise英文中叫做承诺//成功resolve 失败reject 正在过程中 pending 没人接的时候var obj = { status: '', value: ''}function Apromise(fn) { obj.status = 'pending' obj.value = '' function resolve(value) { if (obj.status === 'pending') {原创 2020-12-03 09:46:30 · 189 阅读 · 0 评论 -
最全Vue双向绑定及其讲解 一步一步debug包教包会
实现mvvm的双向绑定,是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()【defineProperty】来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。就必须要实现以下几点:1.监听器Observer:监听变化2.解析器Compile: 根据指令模板替换数据,以及绑定相应的更新函数3.Watcher: 订阅并收到每个属性变动的通知,执行指令绑定的相应回调函数4.mvvm入口函数,整.原创 2020-12-02 20:16:15 · 203 阅读 · 1 评论 -
cookie、session、token
cookie:服务端给你一个证明自己身份的编码 登录之后服务端验证和自己的数据库比对 找到用户。并且只能存在cookie中。session:登陆后服务端给你一个要是的前半段 后半段在服务端 二者加一起才可以证明你是用户,然后通过这个来找到你是谁 存在服务器端的内存中 客户端的session id存储在服务器中token:登录之后 返回一个代表你身份的加密字符串 服务端不需要解密 解密后就是你 存哪都行很好的例子:...原创 2020-11-25 10:39:14 · 88 阅读 · 0 评论 -
搞定前端面试官-说一下常见浏览器内核
浏览器内核解说IETridentIE、猎豹、360的急速模式等都在用firefoxGecko这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。SafariwebkitWebkit 的鼻祖其实是 Safari。chromeBlinkBlink 其实是 WebKit 的分支。由google和opera software共同开发 大部分国产浏览器最新版都采用Blink内核。二次开发,Operablink之前是...原创 2020-11-12 11:21:34 · 331 阅读 · 1 评论 -
搞定前端面试官- 来,你说一下闭包
个人理解:父函数的子函数被夫函数返回,无论什么时候他都可以访问父函数内的变量。(即使父函数被销毁)ps:特点:外部可以访问函数内部变量。可以保存局部变量。可以避免使用全局变量,防止全局变量污染。ps:缺点:内存泄漏 每运行一次父函数都会生成一个新的闭包。其他人的理解口诀:闭包找到的是同一地址中父级函数中对应变量最终的值。...原创 2020-11-05 20:00:25 · 212 阅读 · 0 评论 -
新手能看懂的async/await
一些初学者的理解欢迎大佬阅读指正一、async与await的特点**(1)内置执行器**async函数的执行,与普通函数一模一样,只要一行。asyncReadFile();(2)更好的语义。async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。(3)更广的适用性。async函数的await命令后面,可以是 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时会自动转成立即 resolved 的 Promise 对象)。(4)返回值是 Promise原创 2020-11-07 15:06:07 · 455 阅读 · 0 评论 -
搞定前端面试官-如何实现深拷贝/深拷贝和浅拷贝的区别
要说如何实现深拷贝首先要了解一些知识1.数据的存储原理2.什么是浅拷贝1.数据的存储原理在js中数据分成两种形式存储一种是基本数据类型直接将数据存储在栈中。另外一种是像数组,对象这样的数据类型,将指针存储在栈中而将数据存储在堆中。2.什么是浅拷贝我们以对象为例当运行如下代码时:let obj = { name: 'sam', }; let obj1 = obj;看似是给obj1赋值但其实给obj1的其实是obj的指针,所以现在当对原创 2020-10-16 17:48:05 · 1029 阅读 · 0 评论 -
搞定前端面试官-Vue的生命周期(包过)
生命周期概念:从创建到销毁的整个过程经历:开始创建、初始化数据、编译模板、挂载Dom、渲染、更新渲染、销毁。每一个组件或者实例都会经历一个完整的生命周期:初始化、运行中、销毁 。正餐:(为方便阅读已对重点进行加粗处理)1.实例、组件通过new Vue() 创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,这个时候,数据还没有挂载呢,只是一个空壳,无法访问到数据和真实的dom,一般不做操作2.挂载数据,绑定事件等等,然后执行created函数,这个时候已经可以使原创 2020-10-15 14:06:33 · 551 阅读 · 0 评论 -
搞定前端面试官-变量的解构赋值
分类数组的解构赋值let [a, b, c] = [1, 2, 3];右侧不是数组则赋值失败对象的解构赋值对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。对象可以嵌套解构赋值let obj = { p: [ 'Hello', {原创 2020-10-14 14:12:21 · 251 阅读 · 0 评论 -
搞定前端面试官-Promise
promise特点1.所谓 Promise ,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。2.对象的状态不受外界影响。 Promise 对象代表一个异步操作,有三种状态: pending (进行中)、 fulfilled (已成功)和 rejected (已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。3.一旦状态改变,就不会再变,任何时候都可以得到这个结果。变成成功或者失败只要这两种情况发生,状态就凝固了,不会再变了,原创 2020-10-12 10:23:29 · 255 阅读 · 0 评论 -
搞定前端面试官-javaScript中的兼容性
1.阻止默认行为的兼容性问题–evt.preventDefault?evt.preventDefault():evt.returnValue=false;2.关于DOM中 childNodes 获取子节点出现的兼容性问题–IE6-8:获取的是元素节点,正常–高版本浏览器:但是会包含文本节点和元素节点(不正常)解决方法: 使用nodeType:节点的类型,并作出判断/使用children3.关于使用 event对象,出现的兼容性问题–IE/Chrom: event.clientX;event.c原创 2020-10-12 09:56:28 · 200 阅读 · 0 评论 -
搞定前端面试官-let与const
1原创 2020-09-29 14:18:29 · 152 阅读 · 0 评论