想知道大厂的面试吗?来看这里,给你看一个宝贝。大前端进阶、面试必须要会的知识点总结

文章结构
本文将按知识分类整理,可在PC端右侧书签栏针对性分类阅读,内容将持续更新。同时,文无第一,武无第二,如有错误及纰漏,望能斧正。本文本着包容、开放、

1. 说说你知道哪些页面布局方式?他们各有什么优缺点?
从早期前端发展到现在,经历了一下发展历程:** table布局,position布局,浮动布局,栅格布局,flex弹性盒子布局 。**

table布局:
优点:不需要使用任何CSS配合就可搭建正题布局;兼容性强,所有浏览器都支持该元素;

缺点:任意单元格的布局属性改变将引起整个表格的回流,耗费性能;各个浏览器对table基础属性实现不同,样式有差异;难以适应复杂业务需求;

position布局:
优点:利用position的五个属性(static、relative、absolute、fixed、sticky)改变元素在文档流中的位置,使用灵活;

缺点:当为元素设置定位时,往往还涉及到为父元素设置定位,额外增加了复杂度;元素脱离文档流后可能引起父元素高度塌陷,需要对父级元素做处理;对于sticky在部分版本浏览器不支持,截止发文,在支付宝小程序也不支持sticky属性。

浮动布局:
优点:可以自由改变元素在同级元素之间的排列顺序;

缺点:需要做清除浮动等后续工作,否则会造成父级元素高度塌陷、影响其他元素布局等问题;。

样式有差异;难以适应复杂业务需求;

栅格布局:
优点:个人认为它是table布局的改良版,它跟table布局一样,都引入二维空间行列的概念。栅格布局使用百分比为单位,没有基础样式,避免了table的缺点;

缺点:原生的栅格布局浏览器对其支持性并不好,反而是集成了栅格布局的bootStrap框架兼容性做的更好,因此大多用的都是bootStrap作为布局工具。

flex布局:
优点:移动端布局神器,在不使用任何UI框架的情况下可以快速形成布局;一整套的属性可以达到解决大多数布局问题;

缺点:属于CSS3引入的属性,仅适用于IE9以上,低版本需要兼容处理;同时,需要掌握繁琐的属性设置;flex属性占用了css的display属性,在部分场景下需要设置特定display属性时,只能另寻它法。

正在加载中……

1. 说说什么是原型链
原型是函数特有的属性,称为:prototype。prototype属性是一个对象,这个对象的作用是:存储需要共享的属性和方法,以便在自己作为构造函数时传给函数实例。prototype对象中有一个自带属性constructor,它是一个函数指针,指向的是实例对象的构造函数。函数还有一个属性:constructor,它是一个指针,指向的是函数构造函数。函数实例依然可以作为构造函数,生成新的函数实例,构造函数与函数实例之间原型形成的关系,称为原型链。原型链的作用是实现方法和属性复用,减少重复代码,节省存储空间,也就是所说的实现继承。原型继承的缺点是,如果共享的属性是引用类型,则会造成所有实例均可更改构造函数属性,另一个弊端是,在生成函数实例时,没办法向构造函数传递参数,做不到自定义属性值。因此,鉴于这两个缺点,常常原型和构造函数一起使用,形成组合继承,组合继承也是JS中继承最常用的模式。

2 说说闭包
闭包本质上是一个函数,这个函数特点是:能够访问另一个函数作用域内的变量。

闭包的作用有:1)避免变量污染全局;

2)模拟块级作用域,封装私有方法,暴露公共方法属性;

3)模拟缓存,局部存储数据;

闭包危害: 主要是垃圾回收问题和内存泄漏问题。

1)闭包函数在执行后无法被销毁,始终存在环境中;

2)闭包中的变无法被垃圾回收识别,造成内存泄漏。

3 什么是内存泄漏?你知道哪些?
内存泄漏指的是:因缺陷或错误造成的不再被使用的内存无法被回收,从而造成内存浪费的情况。

常见的有:

  1. 意外的全局变量;

  2. console.*打印方法;

  3. 闭包;

  4. DOM泄漏;

  5. 未清理的定时器;

正在加载中……

正在加载中……

如果你现在也想学习前端开发技术,在学习前端的过程当中有遇见任何关于学习方法,学习路线,学习效率等方面的问题,你都可以申请加入我的Q群:前114中6649后671,里面有许多前端学习资料 大厂面试真题免费获取,希望能够对你们有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值