
前端面试要点
文章平均质量分 95
胡歌滴滴
胃不好
展开
-
2020前端面试真题( ES6 )
ES6 阮一峰ES6入门教程1.使用箭头函数应注意什么?(1)用了箭头函数,this就不是指向window,而是父级(指向是可变的)(2)不能够使用arguments对象(3)不能用作构造函数,所以不能使用new命令,否则会报错(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数2.简述es6的新特性增加块作用域增加let const解构赋值函数参数扩展 (函数参数可以使用默认值、不定参数以及拓展参数)增加class类的支持增加箭头函数增加模块和模块加载原创 2021-01-04 21:06:44 · 634 阅读 · 0 评论 -
2020前端面试真题( Vue )
1.computed和watch的区别?computed:如果不使用计算属性,那么 message.split(’’).reverse().join(’’) 就会直接写到 template 里,那么在模版中放入太多声明式的逻辑会让模板本身过重,尤其当在页面中使用大量复杂的逻辑表达式处理数据时,会对页面的可维护性造成很大的影响,而且计算属性如果依赖不变的话,它就会变成缓存,computed 的值就不会重新计算。而且他返回的是一个值,同时也不能进行异步操作。所以就有了watch。watch也是用来监听数据原创 2021-01-04 21:06:12 · 1783 阅读 · 0 评论 -
2020前端面试真题( React )
1.Redux遵循的三个原则是什么?单一数据来源:整个应用的状态存储在单个 store 中的对象/状态树里。单一状态树可以更容易地跟踪随时间的变化,并调试或检查应用程序。状态是只读的:改变状态的唯一方法是去触发一个动作。动作是描述变化的普通 JS 对象。就像 state 是数据的最小表示一样,该操作是对数据更改的最小表示。使用纯函数进行更改:为了指定状态树如何通过操作进行转换,需要用纯函数。纯函数是那些返回值仅取决于其参数值的函数。2.redux工作流程首先,UI组件发出 Action。然后,原创 2021-01-04 21:05:33 · 1417 阅读 · 0 评论 -
2020前端面试真题( HTML + CSS )
1.HTML5 存储类型有什么区别?HTML5 能够本地存储数据,在之前都是使用 cookies 。HTML5 提供了两种本地存储方案: localStorage 用于持久化的本地存储,数据永远不会过期,关闭浏览器也不会丢失。 sessionStorage 同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。2.cookie、localStorage、sessionStorage的区别?特性cookiel原创 2021-01-14 10:18:05 · 1075 阅读 · 0 评论 -
2020前端面试真题( JS )
1.为什么JavaScript是单线程?作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,浏览器不知道该以哪个线程为主,单线程这已经成了这门语言的核心特征。为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以原创 2021-01-04 21:03:37 · 684 阅读 · 0 评论 -
2020前端面试真题(Node.js,Git ,Webpack,项目实战)
HTML51.HTML5 存储类型有什么区别?HTML5 能够本地存储数据,在之前都是使用 cookies 。HTML5 提供了两种本地存储方案: localStorage 用于持久化的本地存储,数据永远不会过期,关闭浏览器也不会丢失。 sessionStorage 同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。2.cookie、localStorage、sessionStorage的区别?特性co原创 2020-12-09 20:24:23 · 1101 阅读 · 2 评论 -
promise面试题
关于Promise 的问题一览什么是 promise传统的回调式异步操作有什么缺点?(Promise是如何解决异步操作)Promise中的异步模式有哪些?有什么区别?如果想 Promise.all()和Promise.race()传递空数组,运行结果会有什么不同?如何确保一个变量是可信任的 Promise(Promise.resolve方法传入不同值的处理有哪些)Promise是如何捕获异常的?与传统的 try / catch 相比有什么优势?1.什么是promise下面的回答很像在背概原创 2020-11-11 19:15:39 · 907 阅读 · 0 评论 -
如何判断一个变量是否为数组?数组的原生方法有哪些?数组去重的方法?克隆数组的方法
如何判断一个变量是否为数组?为什么不用typeof?var list = [1,2,3];typeof list //“object”Array继承与Object,所以typeof 会直接返回object,所以不可以用typeof方法来检测为什么不用instanceof?var list = [1,2,3];list instanceof Array //trueinstanceof 表面上看确实是返回了true,但其实并不可靠。原因是Array实质是一个引用,用instanceof方法(包括原创 2020-11-11 10:53:35 · 612 阅读 · 0 评论 -
什么是ajax?Ajax应用程序的优势?AJAX最大的特点是什么?原生js的ajax请求有几个步骤?AJAX的优缺点
什么是ajax?ajax作用是什么?AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.Ajax应用程序的优势通过异步模式,提升了用户体验优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。AJAX最大的特点是什么。Ajax可以实现..转载 2020-11-05 21:37:11 · 442 阅读 · 0 评论 -
闭包的定义,闭包是什么?闭包解决了什么问题?闭包有哪些应用场景?使用闭包应该注意什么?
1、闭包是什么?闭包是有权限访问其他函数作用域的局部变量的一个函数这是《 JavaScript高级程序设计 》中给出的定义, 如果你想用一句话就把面试官搞定几乎是不可能的。因为这句话还存在下面几个深入的问题:为什么其他非闭包的函数,没有权限访问另一个函数的内部作用域为什么闭包有这个权限什么是函数作用域面试官更想知道的是你是否知道上面的内容更周全的解释方法:由于在JS中,变量的作用域属于函数作用域,在函数执行后作用域就会被清理、内存也随之被收回,但是由于闭包是建立在一个函数内部的子函数,原创 2020-11-05 20:50:08 · 10538 阅读 · 3 评论 -
v-show和v-if的区别
v-if和v-show都是条件渲染,但不同的是v-if是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。v-if也是惰性的,即在初始条件为假时,并不会渲染DOM结构,只有在条件变为真时才会第一次渲染DOM。当条件变为假时,DOM又会被销毁,因此v-if有更高的切换开销。而v-show则简单得多,不管条件是否为真,DOM均会渲染,知识进行简单的CSS切换,可以理解为JS动态的改变DOM的display。正因为v-show的这种特性,v-show有更高的初始化开销,原创 2020-11-04 08:51:40 · 209 阅读 · 0 评论 -
var和function的预解析,以及变量和function的先后顺序的问题
function b() { console.log(a);// function a(){} var a = 10; function a() { }; a = 100; console.log(a);//100 } b(); function c() { console.log(a);/.原创 2020-09-21 08:10:06 · 1063 阅读 · 0 评论 -
JS对象的深复制
JS实现对象的深复制function cloneObject(source,target){ var list=["number","string","boolean","undefined","null","function"]; if(target===undefined){ // 判断源对象是否是HTML标签 if(HTMLElement.prototype.isPrototypeOf(s原创 2020-09-14 20:37:51 · 346 阅读 · 1 评论 -
JS对象的相关方法
对象的方法Object.freeze( obj ) : 冻结对象,使对象的属性不能删除和修改var obj = { a : 1 , b : 2};Object.freeze(obj);delete obj.a;obj.b = 20;console.log(obj) //{a: 1, b: 2}对象属性不会改变Object.is : 相当于 ===<script> //在任何时候NaN等于任何数都是false,包括他自己。 console.log( NaN === N原创 2020-09-12 09:02:08 · 153 阅读 · 1 评论 -
前端面试要点week2
前端面试要点week2代码题给定两个数组,写一个方法来计算它们的交集//低级写法 : function jiaoji(arr1 , arr2){ //获得数组长度较少的哪一个数组 if(arr1.length > arr2.length){ var temp = arr1; arr1 = arr2; arr2 = temp } //[2, 2] [1, 2, 2, 1] 此时数组长度较短的那个就是arr1了 //ar原创 2020-09-11 20:33:41 · 157 阅读 · 0 评论 -
前端面试要点Week1
前端面试要点11.闭包的特性函数内部嵌套函数函数内部可以引用外部的变量参数和变量不会被垃圾回收机制回收2.new操作符具体的作用创建了一个空对象,并且this变量引用该对象,同时继承了该函数的原型。属性和方法被加入到this引用的对象中新创建的对象由this所引用,并且最后隐式的返回this3.同步和异步的区别同步的思想是 : 所有的操作都做完才返回给用户,这样用户在线等待的时间太长,给用户一种卡死的感觉。这种情况下用户不能关闭界面,如果关闭了,那么迁移程序也就中断了异步 :原创 2020-09-05 15:28:48 · 175 阅读 · 0 评论 -
宏任务与微任务面试题
宏任务与微任务面试题对于宏任务与微任务的执行顺序问题一直都是前端面试一到过不去的坎,这东西多看是没用的,多做就是了,刷了10来到面试题,立马顿悟。1async function async1 () { console.log('async1 start'); await async2(); console.log('async1 end') console.log('async1 end 2') } async functi原创 2020-09-03 20:50:07 · 3502 阅读 · 8 评论