2021/1/15-每日三题第22弹:大刀收不住了,你真的知道闭包是什么吗 ???

本文介绍了前端开发中关于重绘和重排的概念,包括它们的触发原因以及如何避免不必要的性能开销。同时,文章还探讨了闭包的定义、特性以及使用闭包时应注意的内存管理问题。通过对作用域链的理解,帮助开发者更好地掌握JavaScript中的变量访问规则。
摘要由CSDN通过智能技术生成

前言:

朋友们好啊,这几天真的是太忙了,快肝不动了,但我还是会坚持更新的,啪的一下,很快啊,给大家先来一个笑话啊😁😁😁

一对男女正在热恋,

男的有天问那女的:“我真的是你第一个男朋友么?”,

女的回答道:“当然了,

你当然是我第一个男朋友了,怎么你们男人都爱问这个问题~~~”

每日三题每日三题

好了,话不多说,上题目!!!😍😍😍

题目:

(题目1) 说一下重绘和回流(重排)是什么,如何避免 ?

(题目2) 说一下闭包 ?

(题目3) 说说你对作用域链的理解 ?

倒计时10min,开始计时,看看自己能做对几道题😎😎😎?参考解析在下面,但不要直接看解析哦,这样子没什么效果的!!!

每日三题

参考解析:

题目1:

1.DOM的变化影响到了元素的⼏何属性(宽⾼),浏览器重新计算元素的⼏何属性,其他元素
  的⼏何属性和位置也会受到影响,浏览器需要重新构造渲染树,这个过程称为重排,浏览器将受
  到影响的部分重新绘制到屏幕上的过程称为重绘
2.引起重排的原因有:
	1)添加或者删除可⻅的DOM元素
	2)元素位置、尺⼨、内容改变
	3)浏览器⻚⾯初始化
	4)浏览器窗⼝尺⼨改变,重排一定重绘,重绘不⼀定重排 
3.减少重绘和重排的⽅法:
	1)不在布局信息改变时做 DOM 查询
	2)使⽤ cssText 或者 className ⼀次性改变属性
	3)使⽤ fragment
	4)对于多次重排的元素,如动画,使⽤绝对定位脱离⽂档流,让它的改变不影响到其它元素	 

题目2:

1.闭包是指有权访问另⼀个函数作⽤域中变量的函数,创建闭包的最常⻅的⽅式就是在⼀个
  函数内创建另⼀个函数,通过另⼀个函数访问这个函数的局部变量,利⽤闭包可以突破作⽤
  链域
2.闭包的特性:
	1)函数内再嵌套函数
	2)内部函数可以引⽤外层的参数和变量
	3)参数和变量不会被垃圾回收机制回收
3.使⽤闭包的注意点:
	1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很⼤,所以不能滥⽤闭包,否
	   则会造成⽹⻚的性能问题,在IE中可能导致内存泄露
	2)解决⽅法是,在退出函数之前,将不使⽤的局部变量全部删除	  

题目3:

1.简单的说,作⽤域就是变量与函数的可访问范围,即作⽤域控制着变量与函数的可⻅性和
  ⽣命周期
2.作⽤域链的作⽤是保证执⾏环境⾥有权访问的变量和函数是有序的,作⽤域链的变量只能
  向上访问,变量访问到 window 对象即被终⽌,作⽤域链向下访问变量是不被允许的  

怎么样,是不是很简单,你做对了几道题呢?做对的再接再厉,不要骄傲,做错的也没有关系啦,好好总结,继续努力 !!!

当然啦,大家如果有补充的或者其它问题,欢迎大家在评论区交流啊,路漫漫其修远兮,吾将上下而求索,希望大家可以一起坚持下去啊 !!!😎😎😎~~~

每日三题

如果这篇文章能够帮助到您,希望您不要吝惜点赞👍👍和收藏💖💖,您的支持是我继续努力的动力 💪💪 !!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值