javascript 闭包

javascript  闭包

一.什么是闭包:

1.函数内部可以访问函数外部的变量,函数外部不能访问函数外部的变量。为了打破这种“不公平”,就产生了闭包。

2.函数调用结束后函数内部变量会退出内存,使用闭包,可以继续使用函数内部变量,因为函数被引用。如:案例二中:var n=test();

3.使用闭包还可以修改函数内部变量。

二.案例:

//案例一:(误区)function test(){
  var num=10;
  return num;
}
var n=test();
alert(n());

//案例二:(闭包)function test(){
  var num=10;
  var num1=function test1(){
  return num;  
  }
  return num1;
}
var n=test();
alert(n());

//案例三:(闭包修改内部变量)
function test(){
  var num=10;
  var num1=function test1(){ return num+1; 
  }
  return num1;
}
var n=test();
alert(n());


当学会了觉得很简单,当不会的时候就觉得天快塌了。

原文地址:https://www.cnblogs.com/zlp520/p/5009291.html