JavaScript基础概念之----闭包
Posted adhehe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript基础概念之----闭包相关的知识,希望对你有一定的参考价值。
闭包 是由作用域链引起的。
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基础概念之----闭包的主要内容,如果未能解决你的问题,请参考以下文章