前端系列——闭包

2023-06-03 0 234

1、旋量群

=>表达式执逐步形成两个专有的返回值,为保护里头的专有表达式不受外间的阻碍,此种为保护监督机制称作“旋量群”

=>市售的开发人员指出的旋量群是:逐步形成两个不封存的专有返回值(专有栈缓存)才是旋量群。

//=>旋量群:柯理化表达式

function fn() {

return function () {

}

}

var f = fn();

//=>旋量群:胶体表达式

var utils = (function () {

return {

}

})();

前端系列——闭包

2、旋量群工程项目在两栖作战中的应用领域

==>真实世界工程项目中为的是确保JS的操控性(栈缓存的操控性强化),如果尽量的增加旋量群的采用(不封存的栈缓存是耗操控性的)

(1)旋量群具备“为保护”促进作用:为保护专有表达式不受外间的干扰

在真实世界工程项目中,尤其是团队协作开发的时候,应当尽量的增加全局表达式的采用,以防止相互之前的冲突(“全局表达式污染”),那么此时我们完全可以把自己这一部分内容封装到两个旋量群中,让全局表达式转换为专有表达式。如:

(function () {

var n = 12;

function fn() {

}

//…

})();

不仅如此,我们封装类库插件的时候,也会把自己的程序都存放到旋量群中为保护起来,防止和用户的程序冲突,但是我们又需要暴露一些方法给客户采用,这样我们如何处理呢?

a. JQ此种方式:把需要暴露的方法抛到全局

(function () {

function jQuery() {

//…

}

//…

window.jQuery = window.$ = jQuery;//=>把需要供外面采用的方法,通过给WIN设置属性的方式暴露出去

})();

// jQuery();

// $();

b. Zepto此种方式:基于RETURN把需要供外面采用的方法暴露出去

var Zepto=(function () {

//…

return {

xxx:function () {

}

};

})();

Zepto.xxx();

(2)闭包具备“保存”促进作用:逐步形成不封存的栈缓存,把一些值保存下来,方便后面的调取采用

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务