js闭包的理解-目前网上分析的最透彻文章

js的闭包对于大家实际上并不陌生,但是真正敢说自己完全理解的人并不多。笔者在网上看到分析闭包文章非常多,篇幅用的非常多,但是实际上分析的并不到位,或者根本就是不正确的。我有时候都在想,写这些文章的人自己未必真的理解了。今天我就为大家说到说到js的闭包,看完你百分百的能够理解。

说闭包之前,我们先要说一个js的概念

js的变量不是传统意义的变量,是一个广义的概念

例如:

1、var i=0;

2、var str="china";

3、var fun=function(){...}

第1个和第2个大家非常好理解,第3个简单的解释一下,它代表的是一个函数表达式,看到了吗?变量可以是一个函数,它实际上就是一个函数,要使用它直接就是fun();

如果想要了解更多的函数表达式的概念,大家可以去查一下相关资料,网上资料很多,也很容易看得懂。我就不多说了,OK!我讲闭包之前先要掌握的概念就是这么多!

 

进入正题:

网上使用最多的一个例子如:

function box(){ var arr = []; for(var i=0;i<5;i++){ arr[i] = function(){ return i; } } return arr; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjydf.html