闭包

一.闭包的含义:调用函数不会自动销毁,只会往外溢出。

二.闭包的作用:

实现公有变量

 eg:函数累加器

可以做缓存(存储结构)

eg:eater

可以实现封装,属性私有化

eg:Person();

模块化开发,防止污染全局变量

var name = 'wsx';
var T = (function () {
var name = 'wkn';
function G () {
console.log(name);
}
return function () {
G();
}
}());

 

累加

//打印出0-9,在反过来打印10个10 累加机制
//1.打印0-9
// function test() {
// var arr = [];
// for (var i = 0 ; i < 10 ; i++){
// arr[i] = function() {
// document.write(i);
// }
// }
// return arr;
// }
// //2.打印10个10
// var test1 = test();
// for(var j = 0 ; j < 9 ; ++j ){
// test1[j]();
// }

 缓存机制

            //缓存机制
            // function test() {
            //     var food = 'apple';
            //     var obj = {
            //         eatFoot : function () {
            //             if (food != ""){
            //                 console.log('I am' + food );
            //                 food = "";
            //             }else{
            //                 console.log("Thihe is noting");
            //             }
            //         },
            //         pushFoot : function (myFood) {
            //             food = myFood;
            //         }
            //     }
            //     return obj;
            // }
            // var prepon = test();
            // prepon.eatFoot();//I am apple
            // prepon.eatFoot();//Thihe is noting
            // prepon.pushFoot("banana");
            // prepon.eatFoot();//I am banana

立即执行函数

//打印出10个10,在打印出来0-9
            // function test() {
            //     var arr = [];
            //     for (var i = 0 ; i < 10 ; i++ ) {
            //         //立即执行函数
            //         (function(j) {
            //             arr[j] = function () {
            //                 document.write(j);
            //             }
            //         } (i))
            //     }
            //     return arr;
            // }
            // var test1 = test();
            // for ( var j = 0 ; j < 10 ; ++j ) {
            //     test1[j]();
            // }

 

posted on 2022-06-21 20:45  爱前端的小魏  阅读(11)  评论(0编辑  收藏  举报

导航