zoukankan      html  css  js  c++  java
  • 闭包1

    在一个函数里面嵌套另一个函数

    1    function func() {
    2         var a=1, b=2;
    3         function closure() {
    4             return a + b;
    5         }
    6         return closure;
    7     }
    console.log(func());  返回那个函数
    console.log(func()());  返回那个函数的执行结果
    1 1、在外面操作闭包内部的变量
    2 2、可以形成封闭空间,防止全局变量污染
    3 3、可以延长闭包内部变量的生命周期
     1 <script type="text/html">
     2     function makeSub(x) {
     3         return function (y) {
     4             return x - y;
     5         }
     6     }
     7 
     8     var sub3 = makeSub(3);
     9     var sub7 = makeSub(7);
    10 
    11     console.log(sub3(2)); // 1
    12     console.log(sub7(2)); // 5
    13 
    14     // 释放对闭包的引用
    15     sub3 = null;
    16     sub7 = null;
    17 </script>

    对应第二条

    <script>
        var singleton = (function () {
            // 私有变量
            var intro = "喜欢IT, 就来撩课!";
            var work = function () {
                console.log('小撩!!!!!');
            };
    
            return {
                name: '小撩',
                getIntro: function () {
                    return intro;
                },
                getWork: function () {
                    return work;
                }
            }
        })();
    
        console.log(singleton.name); //可以访问到
        console.log(singleton.getIntro());//访问私有变量
        singleton.getWork()();//访问私有变量
    
    </script>
  • 相关阅读:
    微信運動步數
    JS逐页转pdf文件为图片格式
    js学习笔记]PDF.js专题
    PDF轉圖片流並jquery顯示到頁面
    使用 pdf.js 在网页中加载 pdf 文件
    使用pdfobject.js实现在线浏览PDF
    Echarts的使用
    C# ffmpeg 视频处理
    C#文件/文件夾壓縮,解壓縮
    epplus插入圖片/鏈接
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11228575.html
Copyright © 2011-2022 走看看