• 写页面要注意的事


    1.什么是防抖跟节流?

    防抖和节流本质上是优化高频率执行代码的手段。浏览器上的resize、scroll、keypress、mousemove等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低应用性能,为了优化体验,需要对这类事件进行调用次数的限制,就可以采用防抖debounce和节流throttle的方式来减少调用频率。

    防抖是在一段时间后再执行操作,若在一段时间内被重复触发,则重新计时。

    节流是在一段时间内只运行一次,若在一段时间内重复触发,只有一次生效。

    防抖和节流都可以通过使用setTimeout实现,目的都是,降低回调执行频率,节省计算资源。函数防抖,在一段连续操作结束后,处理回调,利用clearTimeout和 setTimeout实现。函数节流,在一段连续操作中,每一段时间只执行一次,频率较高的事件中使用来提高性能;函数防抖关注一定时间连续触发的事件,只在最后执行一次,而函数节流一段时间内只执行一次。


    2.什么是回流和重绘?

    1.回流

    当增加或删除dom节点,或者给元素修改宽高时,会改变页面布局,那么就会重新构造dom树然 后再次进行渲染,这就是回流。
    2.重绘

    简单来说就是重新绘画,当给一个元素更换颜色、更换背景,虽然不会影响页面布局,但是颜色或背 景变了,就会重新渲染页面,这就是重绘。

    总结

    重绘不会引起dom结构和页面布局的变化,只是样式的变化,有重绘不一定有回流。
    回流则是会引起dom结构和页面布局的变化,有回流就一定有重绘。
    
    • 1
    • 2

    3.什么是内存溢出和泄露?

    一、内存溢出 (OutOfMemory)

    它是指程序在申请内存时,没有足够的内存空间供其使用,抛出OutOfMemory异常。

    比如申请了一个8MB空间,但是当前内存可用空间只有5MB,那么就是内存溢出;

    即:OutOfMemoryError,是指没有空闲内存,垃圾收集器回收后也不能提供更多的内存空间;
    二、内存泄漏 (Memory Leak)

    它是指程序运行后,没有释放所占用的内存空间(程序中有引用没有释放,不能被GC回收),一次内存泄漏可能不会有很大的影响,但长时间的内存泄漏,堆积到一定程度就会产生内存溢出。


  • 相关阅读:
    Flutter屏幕适配
    Python运维之 Flask + 宝塔运行小应用
    以太网帧结构简介
    ps2021版神经滤镜能用吗,ps2021没法用神经元滤镜
    理解OAuth2.0协议和授权机制
    操作系统OS/进程与线程/线程
    蛤蟆先生去看心理医生笔记
    【LeetCode刷题-链表】--25.K个一组翻转链表
    2023年【陕西省安全员C证】考试内容及陕西省安全员C证最新解析
    Oracle安全
  • 原文地址:https://blog.csdn.net/www61621/article/details/127630852