variables - JavaScript function object - JavaScriptのクロージャはどのように動作しますか?

javascript function() 意味 / javascript / function / scope / closures

クロージャが構成する概念(例えば、関数や変数など)を知っていても、クロージャそのものを理解していない人に、JavaScriptのクロージャをどのように説明しますか?

28 revs, 21 users 17%



Answer #1
var plane = function(defaultAirport) {

  var lastAirportLeft = defaultAirport;

  var car = {
    driver: {
      startAccessPlaneInfo: function() {
        setInterval(function() {
          console.log("Last airport was " + lastAirportLeft);
        }, 2000);
      }
    }
  };
  car.driver.startAccessPlaneInfo();

  return {
    leaveTheAirport: function(airPortName) {
      lastAirportLeft = airPortName;
    }
  }
}("Boryspil International Airport");

plane.leaveTheAirport("John F. Kennedy");