web前端:JS高阶编程技巧--惰性函数
编程小助手
2024-04-23 23:03
框架(framework)是一个框子--指其约束性,也是一个架子--指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。
框架这个广泛的定义使用的十分流行,尤其在软件概念。框架也能用于机械结构。
在vue、react等框架大量应用之前,我们需要使用jQuery或者原生js来操作dom写代码,在用原生js进行事件绑定时,我们可以应用DOM2级绑定事件的方法,即:元素.addEventListener(),因为兼容性,还有:
元素.attachEvent()。所以我们需要封装成一个方法:
functionemit(element,type,func){
if(element.addEventListener){
element.addEventListener(type,func,false);
}elseif(element.attachEvent){
element.attachEvent('on'+type,func);
}else{//如果不支持DOM2级事件
element['on'+type]=func;
}
}
这个时候,如果一个元素需要通过一个行为添加多个点击事件,如:
emit(div,'click',fn1);
emit(div,'click',fn2);
在第一次给div进行fn1事件绑定时,已经知道浏览器可以执行哪种绑定方式,执行绑定fn2时,就没有必要再次进行判断,那么代码可以进行修改:
functionemit(element,type,func){
if(element.addEventListener){
emit=function(element,type,func){
element.addEventListener(type,func,false);
};
}elseif(element.attachEvent){
emit=function(element,type,func){
element.attachEvent('on'+type,func);
};
}else{
emit=function(element,type,func){
element['on'+type]=func;
};
}
emit(element,type,func);
}
也就是说,我们在进行第一次判断后,对函数进行重新定义,这样在之后再进行绑定时不需要再进行判断,从性能角度讲,虽然创建了闭包,但优于后续进行多次同一个的判断。
这就是函数的惰性思想,对于同一个判断,我们只需要进行一次就好。
框架(Framework)是构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构。它定义了整体结构,类和对象的分割,各部分的主要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能集中精力于应用本身的特定细节。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341