首页 > 编程语言 > 详细

javascript闭包的缓存应用

时间:2019-11-28 16:57:09      阅读:80      评论:0      收藏:0      [点我收藏+]
function eater () {
                    var food = "apple";
                    var obj = {
                        eat : function () {
                            if (food != "") {
                                console.log("i‘m eating" + " " + food)
                                food = "";
                            }else {
                                console.log(‘there is nothing‘);
                            }
                        },
                        push : function (myFood) {
                            food = myFood;
                        }
                    }
                    return obj;
                }
                var eater1 = eater();
                eater1.eat();
                eater1.eat();
                eater1.push(‘banana‘);
                eater1.eat();

“eat”函数与“push”函数保存出来的“作用域”,因为这两个函数处于同级情况,return到了外部,形成闭包,并且没有自身定义的数据,作用域完全相同且相通,在此情况下修改food的值,eat函数和push函数是共同保存该值的.         类似于直接在全局中定义一个数字值,逐句修改该值,最后打印出来的是最后一次修改的值.

javascript闭包的缓存应用

原文:https://www.cnblogs.com/oo5lll/p/11950821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!