variables - closures js - Как работают JavaScript-закрытия?

функции javascript для чайников / 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");