性能优化之惰性函数(代码片段)

lhlvs lhlvs     2022-12-07     446

关键词:

我们正常封装一个兼容的绑定事件函数会这样写:

function addEvent(dom, type, handle) 
    if (dom.addEventListener) 
        dom.addEventListener(type, handle, false)
     else 
        dom.attachEvent(‘on‘ + type, handle)
    

看起来没什么问题, 但是, 既然我们封装了这样一个函数, 那我们肯定会频繁调用它,

每次调用都走一次if 判断   , 性能就会降低,  

那我们就要想一个办法  , 只在第一次调用时判断一次, 后面再次调用就不用判断了,  

这就是惰性函数的用法:

function addEvent(dom, type, handle) 
    if (dom.addEventListener) 
        dom.addEventListener(type, handle, false);
        addEvent = function (dom, type, handle) 
            dom.addEventListener(type, handle, false);
        
     else 
        dom.attachEvent(‘on‘ + type, handle);
        addEvent = function (dom, type, handle) 
            dom.attachEvent(‘on‘ + type, handle);
        
    

直接在函数内部重写这个函数。

 

scala编程之惰性函数(代码片段)

一、为什么需要惰性函数惰性计算(尽可能延迟表达式求值)是许多函数式编程语言的特性。惰性集合在需要时提供其元素,无需预先计算它们,这带来了一些好处。首先,您可以将耗时的计算推迟到绝对需要的时候。其次,您可以创造... 查看详情

react.component与react.purecomponent(react之性能优化)(代码片段)

前言先说说shouldComponentUpdate提起React.PureComponent,我们还要从一个生命周期函数shouldComponentUpdate说起,从函数名字我们就能看出来,这个函数是用来控制组件是否应该被更新的。React.PureComponent通过prop和state的浅对比来实现shouldComp... 查看详情

函数式编程的java编码实践:利用惰性写出高性能且抽象的代码(代码片段)

...f0c;只需要对Java8有些许了解即可。一抽象一定会导致代码性能降低?程序 查看详情

函数式编程的java编码实践:利用惰性写出高性能且抽象的代码(代码片段)

...f0c;只需要对Java8有些许了解即可。一抽象一定会导致代码性能降低?程序 查看详情

golang性能优化之累加哈希(代码片段)

很多时候性能问题总是发生在一些不起眼的地方。最近做一个性能问题分析的时候发现,一个函数里面使用由于字符串拼接产生的临时字符串导致内存上涨了40%(120G内存的机器),而这些临时字符串给GC也带来了非常大的负担,... 查看详情

android性能优化之内存泄漏检测以及内存优化(下)(代码片段)

...析一下Android内存优化的相关内容。  上篇:Android性能优化之内存泄漏检测以及内存优化(上)。  中篇:Android性能优化之内存泄漏检测以及内存优化(中)。  下篇:Android性能优化之内存 查看详情

前端性能优化之请求优化(代码片段)

...体验是一件永无止境的事情,没有最优,只有更优。前端性能优化方向有很多,今天主要讲解在网络请求上的优化。因涉及的优化方向较多,对于具体细节不再赘述。总体按以下三个方向优化:请求数据控制请求体积减少请求尽... 查看详情

(转)foundation-性能优化之nsdateformatter(代码片段)

性能优化之NSDateFormatter为什么要优化NSDateFormatter?首先,过度的创建NSDateFormatter用于NSDate与NSString之间转换,会导致App卡顿,打开Profile工具查一下性能,你会发现这种操作占CPU比例是非常高的。据官方说法,创建NSDateFormatter代价... 查看详情

android面试之必问性能优化(代码片段)

...够,因为不管是工作还是面试,都需要开发者懂得大量的性能优化,这对提升应用的体验是非常重要的。对于Android开发来说,性能优化主要围绕如下方面展开:启动优化、渲染优化、内存优化、网络优化、卡顿检测与优化、耗... 查看详情

android性能优化之启动优化(代码片段)

Android性能优化之启动优化1.启动窗口优化Android系统在Activity的窗口尚未启动完成前,会先显示一个启动窗口(StartingWindow),等界面的第一帧渲染完成后再从启动窗口切换到真正的界面显示,启动窗口通常情况... 查看详情

android性能优化之启动优化(代码片段)

Android性能优化之启动优化1.启动窗口优化Android系统在Activity的窗口尚未启动完成前,会先显示一个启动窗口(StartingWindow),等界面的第一帧渲染完成后再从启动窗口切换到真正的界面显示,启动窗口通常情况... 查看详情

android性能优化之内存泄漏检测以及内存优化(中)(代码片段)

...,和Android的内存优化相关内容。  上篇:Android性能优化之内存泄漏检测以及内存优化(上)。  中篇:Android性能优化之内存泄漏检测以及内存优化( 查看详情

javascript性能优化之节流函数

在我们的工作中往往有这样的需求,下拉上拉加载实现无限加载列表数据这样的一个功能,这个时候小伙伴们可能就觉得这个功能几分钟的事,于是乎,下边这段代码浩浩荡荡就出来了window.addEventListener(‘scroll‘,function(){//判断... 查看详情

性能优化之异步日志(代码片段)

...ender打印日志。     那么使用了AsyncAppender,会不会性能就好了,就不会阻塞业务流程了,会不会丢失日志呢,我们来看一下logback的实现。                                        查看详情

性能优化之异步日志(代码片段)

...ender打印日志。     那么使用了AsyncAppender,会不会性能就好了,就不会阻塞业务流程了,会不会丢失日志呢,我们来看一下logback的实现。                                        查看详情

性能优化之布局优化(代码片段)

谈到性能优化,一般都是从优化布局开始,优化布局一般可采用如下步骤进行:Step1:进入系统设置打开调试GPU过度绘制功能,先定位存在重绘的布局;Step2:对已定位存在过度重绘的布局,采用lint功能检测... 查看详情

android性能优化之启动耗时测量(代码片段)

Android启动优化之启动耗时测量本文基于Android11.0源码分析,涉及如下文件frameworks/base/services/core/java/com/android/server/wm/ActivityMetricsLogger.javaframeworks/base/services/core/java/com/android/server/wm/ActivityR 查看详情

android性能优化之启动耗时测量(代码片段)

Android启动优化之启动耗时测量本文基于Android11.0源码分析,涉及如下文件frameworks/base/services/core/java/com/android/server/wm/ActivityMetricsLogger.javaframeworks/base/services/core/java/com/android/server/wm/ActivityR 查看详情