当前位置: 网站首页>小程序开发>网站制作

浚县网站制作要多少钱【域名企业邮箱服务器注册申请办理】浚县网络优化公司哪家好、浚县软件开发外包价格、浚县高端企业网站页面制作设计专业公司、浚县微信公众号小程序购物支付搭建制作公司

发表日期: 2021-05-10 12:55:33 浏览次数:94

浚县网站制作要多少钱【域名企业邮箱服务器注册申请办理】浚县网络优化公司哪家好、浚县软件开发外包价格、浚县高端企业网站页面制作设计专业公司、浚县微信公众号小程序购物支付搭建制作公司

网站建设.jpg

浚县隶属河南省鹤壁市,是中国国家历史文化名城、中国民间文化艺术之乡。 [1]  浚县位于河南北部,地处太行山与华北平原过渡地带,属暖温带半湿润性季风气候,辖6镇1乡4个街道,71万人(2015年)。县域面积966平方公里,耕地107.6万亩,有“黎阳收,顾九州”的美誉。

作为一座千年古城,浚县境内名胜古迹众多,浚县古城内的大运河浚县段、黎阳仓遗址被列入世界文化遗产。浚县大佛是"全国最早、北方最大"的大型摩崖造像。浚县泥咕咕被中国政府列入第一批非物质文化遗产名录。

2019年1月9日,浚县社火入选2018—2020年度“中国民间文化艺术之乡”名单。 [2] 


例 3:包装相关的功能

返回目录

闭包可以用于创建额外的作用域,通过该作用域可以将相关的和具有依赖性的代码组织起来,以便将意外交互的风险降到最低。假设有一个用于构建字符串的函数,为了避免重复性的连接操作(和创建众多的中间字符串),我们的愿望是使用一个数组按顺序来存储字符串的各个部分,然后再使用 Array.prototype.join 方法(以空字符串作为其参数)输出结果。这个数组将作为输出的缓冲器,但是将数组作为函数的局部变量又会导致在每次调用函数时都重新创建一个新数组,这在每次调用函数时只重新指定数组中的可变内容的情况下并不是必要的。

一种解决方案是将这个数组声明为全局变量,这样就可以重用这个数组,而不必每次都建立新数组。但这个方案的结果是,除了引用函数的全局变量会使用这个缓冲数组外,还会多出一个全局属性引用数组自身。如此不仅使代码变得不容易管理,而且,如果要在其他地方使用这个数组时,开发者必须要再次定义函数和数组。这样一来,也使得代码不容易与其他代码整合,因为此时不仅要保证所使用的函数名在全局命名空间中是唯一的,而且还要保证函数所依赖的数组在全局命名空间中也必须是唯一的。

而通过闭包可以使作为缓冲器的数组与依赖它的函数关联起来(优雅地打包),同时也能够维持在全局命名空间外指定的缓冲数组的属性名,免除了名称冲突和意外交互的危险。

其中的关键技巧在于通过执行一个单行(in-line)函数表达式创建一个额外的执行环境,而将该函数表达式返回的内部函数作为在外部代码中使用的函数。此时,缓冲数组被定义为函数表达式的一个局部变量。这个函数表达式只需执行一次,而数组也只需创建一次,就可以供依赖它的函数重复使用。

下面的代码定义了一个函数,这个函数用于返回一个 HTML 字符串,其中大部分内容都是常量,但这些常量字符序列中需要穿插一些可变的信息,而可变的信息由调用函数时传递的参数提供。

通过执行单行函数表达式返回一个内部函数,并将返回的函数赋给一个全局变量,因此这个函数也可以称为全局函数。而缓冲数组被定义为外部函数表达式的一个局部变量。它不会暴露在全局命名空间中,而且无论什么时候调用依赖它的函数都不需要重新创建这个数组。

/* 声明一个全局变量 - getImgInPositionedDivHtml -
并将一次调用一个外部函数表达式返回的内部函数赋给它。      

   这个内部函数会返回一个用于表示绝对定位的 DIV 元素
   包围着一个 IMG 元素 的HTML字符串,这样一来,
   所有可变的属性值都由调用该函数时的参数提供:
*/
var getImgInPositionedDivHtml = (function(){
    /* 外部函数表达式的局部变量 - buffAr - 保存着缓冲数组。
     这个数组只会被创建一次,生成的数组实例对内部函数而言永远是可用的
     因此,可供每次调用这个内部函数时使用。      

    其中的空字符串用作数据占位符,相应的数据
    将由内部函数插入到这个数组中:
    */
    var buffAr = [
        ‘<div id=”‘,
        ”,   //index 1, DIV ID 属性
        ‘” style=”position:absolute;top:’,
        ”,   //index 3, DIV 顶部位置
        ‘px;left:’,
        ”,   //index 5, DIV 左端位置
        ‘px;width:’,
        ”,   //index 7, DIV 宽度
        ‘px;height:’,
        ”,   //index 9, DIV 高度
        ‘px;overflow:hidden;”><img src=”‘,
        ”,   //index 11, IMG URL
        ‘” width=”‘,
        ”,   //index 13, IMG 宽度
        ‘” height=”‘,
        ”,   //index 15, IMG 高度
        ‘” alt=”‘,
        ”,   //index 17, IMG alt 文本内容
        ‘”></div>’
    ];
    /* 返回作为对函数表达式求值后结果的内部函数对象。
     这个内部函数就是每次调用执行的函数
	- getImgInPositionedDivHtml( … ) -
    */
    return (function(url, id, width, height, top, left, altText){
        /* 将不同的参数插入到缓冲数组相应的位置:*/
        buffAr[1] = id;
        buffAr[3] = top;
        buffAr[5] = left;
        buffAr[13] = (buffAr[7] = width);
        buffAr[15] = (buffAr[9] = height);
        buffAr[11] = url;
        buffAr[17] = altText;
        /* 返回通过使用空字符串(相当于将数组元素连接起来)
	连接数组每个元素后形成的字符串:
        */
        return buffAr.join(”);
    }); //:内部函数表达式结束。
})();
/*^^- :单行外部函数表达式。*/

如果一个函数依赖于另一(或多)个其他函数,而其他函数又没有必要被其他代码直接调用,那么可以运用相同的技术来包装这些函数,而通过一个公开暴露的函数来调用它们。这样,就将一个复杂的多函数处理过程封装成了一个具有移植性的代码单元。

其他例子

有关闭包的一个可能是最广为人知的应用是 Douglas Crockford’s technique for the emulation of private instance variables in ECMAScript objects。这种应用方式可以扩展到各种嵌套包含的可访问性(或可见性)的作用域结构,包括 the emulation of private static members for ECMAScript objects。

闭包可能的用途是无限的,可能理解其工作原理才是把握如何使用它的最好指南。


浚县网站制作要多少钱域名企业邮箱服务器注册申请办理浚县网络优化公司哪家好、浚县软件开发外包价格、浚县高端企业网站页面制作设计专业公司、浚县微信公众号小程序购物支付搭建制作公司

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878