码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-14 11:25:33      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:匿名   bsp   rip   log   asc   一个   ons   var   就是   

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

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基础概念之----闭包

标签:匿名   bsp   rip   log   asc   一个   ons   var   就是   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!