书写闭包的时候需注意一下情况

1 .书写闭包的时候请注意:this 是Javascript 的关键字,而不是变量。正如之前讨论的,每个函数调用都包含一个This值,如果闭包在外部函数里是无法访问this的,除非函数将this转存为一个变量

var self=this;//将this保存至一个变量中,以便嵌套的函数能够访问它。

2 .绑定arguments的问题与之类似。arguments并不是一个关键字,但在调用每个函数时都会自动声明它,由于闭包具有自己所绑定的arguments,因此闭包内无法直接访问外部函数的参数数组,除非外部函数将参数数组保存到另外一个变量中:

var outArgumens=arguments;//保存起来以便嵌套的函数能使用它。

原文地址:https://www.cnblogs.com/alphathink/p/5787007.html