首页 > 编程语言 > 详细

JavaScript基础概念之----闭包

时间:2018-10-14 10:49:16      阅读:114      评论:0      收藏:0      [点我收藏+]

闭包 是由作用域链引起的。

var parent = function(){
    var a = ‘hello‘;
    return function(){
        console.log(a);
    }
}

var my = parent();
my();//输出‘hello‘,因为返回的函数可以通过作用域链访问a

如上代码:

定义parent函数,返回一个匿名函数,并从全局作用域调用这个返回的匿名函数。

因为匿名函数被定义在parent函数内部,因此,它被调用后仍然能够访问parent函数的作用域。这就是闭包。

//另一个例子
var myfunc = function(arg){
    return {
        myMethod:function(){
            return arg;
        }
    }
}

var my = myfunc(‘hello‘)
my.myMethod(); //返回 hello

 

JavaScript基础概念之----闭包

原文:https://www.cnblogs.com/adhehe/p/9785022.html

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