闭包-基础知识总结------彭记(011)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包-基础知识总结------彭记(011)相关的知识,希望对你有一定的参考价值。

闭包

-什么是闭包:就是函数内部的函数

-就是指函数,只有函数才能实现闭包,原因就是因为函数可以创建作用域,在函数每部成员在函数的外部不能访问

-闭:封装

-包:包裹,包装

-闭包的作用:因为函数内部的成员不能直接被函数外部访问和使用,那么我们就可以在函数内部创建一些函数来进行变量的操作,之后将这些操作返回给外部使用。这就是闭包-闭包就是解决在函数外部使用函数内部声明的成员的问题,说白了,它就是函数内部进行关联的桥梁

 /*function test(){
        var age = 20;
        console.log(age);
    }
    console.log(age);*/
    /*如果想在外部访问内部声明的age,点办?*/
    /*function test(){
        var age = 20;
        return age;
    }
    console.log(test());*/

    /*在外部为函数内部声明的成员修改值*/
    /*function test(){
        var age = 20;
        /!*函数内部可以声明*!/
        function setValue(value){
            /!*函数内部可以使用函数外部声明的成员*!/
            age = value;
        }
        function getValue(){
            return age;
        }
        return {
            set:setValue,
            get:getValue
        };
    }*/
    function test(){
        var age = 20;
        /*函数内部可以声明*/
        /*function setValue(value){
            /!*函数内部可以使用函数外部声明的成员*!/
            age = value;
        }*/
        /*function getValue(){
            return age;
        }*/
        return {
            set:function(value){
                age = value;
            },
            get:function(){
                return age;
            }
        };
    }
    var obj = test();
    obj.set(30);
    console.log(obj.get());

 

以上是关于闭包-基础知识总结------彭记(011)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象的三大特性之继承-基础知识总结------彭记(05)

js中eval,arguments与异常处理的用法-基础知识总结------彭记(017)

严格模式-基础知识总结------彭记(015)

递归-基础知识总结------彭记(06)

移动端-项目基础总结------彭记(020)

事件流,事件捕获与事件冒泡-基础知识总结------彭记(018)