![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
emoRui77
这个作者很懒,什么都没留下…
展开
-
简述对闭包的理解
1.闭包就是能够读取其他函数内部变量的函数;2.闭包是一种私有化变量的机制,函数执行时形成私有作用域,保护私有变量不受外界影响;3.内部函数可以使用外部函数的参数和变量,函数和变量不会被垃圾回收机制回收;4.一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来会在内部函数中用到,就把这个临时变量绑定给了内部函数,然后自己再结束。原创 2022-11-22 11:13:55 · 303 阅读 · 0 评论 -
JS中map( ) 和 forEach( )的理解和区别
创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来(creates a new array with the results of calling a provided function on every element in the calling array)。forEach遍历通常都是直接引入当前遍历数组的内存地址,生成的数组的值发生变化,当前遍历的数组对应的值也会发生变化。map遍历的后的数组通常都是生成一个新的数组,新的数组的值发生变化,当前遍历的数组值不会变化。原创 2022-11-10 16:39:59 · 250 阅读 · 0 评论 -
JS缓存的三种方法
只要当前的会话窗口未关闭,存储的信息就不会丢失,即便刷新了页面,或者在编辑器中更改了代码,存储的会话信息也不会丢失。原创 2022-11-08 20:23:35 · 401 阅读 · 0 评论 -
关于内存泄漏和内存溢出
内存泄露是由于GC无法及时或者无法识别可以回收的数据进行及时的回收,导致内存的浪费;内存溢出是由于数据所需要的内存无法得到满足,导致数据无法正常存储到内存中。2.内存泄漏的堆积最终会导致内存溢出,由于系统中的内存是有限的,如果过度占用资源而不及时释放,最后会导致内存不足,从而无法给所需要存储的数据提供足够的内存,从而导致内存溢出。3.导致内存溢出也可能是由于在给数据分配大小时没有根据实际要求分配,即请求的内存空间超过了系统实际分配给你的内存空间,最后导致分配的内存无法满足数据的需求,从而导致内存溢出。原创 2022-11-08 20:08:17 · 488 阅读 · 0 评论 -
JS中的重绘与回流
页面中元素发生位置或尺寸的变化,比如增加或删除dom节点、修改元素宽高等,会重新构造dom树再次渲染,这就是回流。页面中元素发生可见性的变化(如修改颜色、更换背景),这种导致页面重新渲染的现象称为重绘。(1)避免使用table布局,避免使用css表达式,避免设置多层内联样式,避免节点层级过多;(1)重绘不会引起dom结构和页面布局的变化,只是页面样式的变化;有重绘不一定有回流;而回流会引起dom结构和页面布局的变化,有回流就一定有重绘。(4) 使用fixed和absoluted能够减少回流和重绘。原创 2022-11-08 11:48:47 · 955 阅读 · 0 评论