function add(num){
return function(num1){
return function(num2){
return num + num1 + num2;
};
};
}
var add5 = add(7)((7))((7));
console.log(add5);
我已经尝试了很多JavaScript,因为我试图了解闭包的工作原理。
但后来我尝试了这个
var add5 = add(7)((7))((7));
console.log(add5); //result is 21
我看到它的方式,闭包是一种指向外部函数或其父函数的指针吗?
答案 0 :(得分:2)
Closure是外部函数的范围,即使外部函数执行结束,内部函数也可以访问它。它是如何实现的,取决于JS解释器。
以下是来自MDN的文档:https://developer.mozilla.org/en/JavaScript/Guide/Closures