2024前端面试题(一)

  1. 为什么要初始化css?


避免浏览器差异,解决兼容问题


  1. 网格布局


display: grid;




grid-template-columns: 1fr 1fr 1fr


  1. less的优点


可以兼容,可以嵌套,循环,运算,定义变量和继承样式(extend)


  1. computed和watch的区别;computed和methods的区别


computed和watch:




computed是计算缓存,需要return,第一次加载就监听




watch触发一次就执行一次回调,不需要return,可以设置immediate:true




computed和methods:




computed是响应式,调用值,引用的属性发生变化时才会计算




methods不是响应式,调用函数,每次被调用都要执行


  1. vue列表中key的作用,以及能用index下标来标记吗


用来识别一个独立的元素,识别dom元素更准更快,优化diff算法,高效更新虚拟dom,区分同名元素




不能用i和index,因为不管数组顺序如何颠倒,index顺序都是0,1,2,3...从而可能会导致dom旧节点复用错误,做很多额外的工作或出现bug


  1. 谈谈对promise的理解


解决异步编程回调地狱(传统解决异步编程的方式是通过回调函数,而回调嵌套过多会导致回调地狱(callbackhell))的一种解决方案,可以通过Promise的方式以同步的方式表达出来,从而解决代码臃肿和可读性差的问题。




程序有三种状态:pending(等待)、resolved(成功)、rejected(失败)。




Promise 的实例可以看做是一个状态展示器,我们可以将拥有状态及改变状态的业务通过Promise来实现,然后再结合async function进一步提升程序的可读性及易维护性




像前端很多库都是基于Promise封装的,比如axios,antd等,所以理解并且能使用它是一名合格前端所必备的技能




一般Promise我都用来接受ajax请求结果之后的回调以及图片的预加载(Promise.all)


  1. http请求方式


get,post,put,delete,head,options,trace,connect。可以说常用的只有前四个,其它的了解不多


  1. 常见http状态码


200,成功




301,临时跳转




302,永久性的重定向




304,请求成功,但是是从缓存中读取的,节省资源




403,请求的权限不够,或者该ip被封掉了




404,找不到请求的资源(最常见)




500,程序本身错误,也就是后端的问题,可以对他说,热烈的马


  1. js是单线程吗


是的,单线程是指Js引擎执行Js时只分了一个线程给他执行,也就是执行js时是单线程的。


  1. 异步方法


回调函数,事件监听,发布订阅(双向绑定用到),Promise,async/await,ajax,定时器延时器,then,catch,finally

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容