closure example

by Shridhar Baddur

HTML

<script type="text/javascript">
//example 7
var increamentClickCount = (function() {
	var clickCount = 0;
  return function() {
  	return ++clickCount;
  };
})();
</script>

<input type="button" value="Click me" onClick="alert(increamentClickCount())" />

JavaScript

//example 1
/* var passed = 2;
function funcOuter() {
  var inner = 2;
  return passed + inner;
}
console.dir(funcOuter); */

//example 2
/* var f = function() {
  var i = 1;
  var j = 2;
  var innerFunc = function() {
    console.log(i);
  };
  return innerFunc;
};
console.dir(f()); */

//example 3
/* for (var i = 0; i < 3; i++) {
  (function(i) {
    setTimeout(function() {
      console.log(i);
    }, 1000);
  })(i);
} */

//example 4
/* function funcOuter() {
  var varOuter = 3;
  function funcInner() {
    var varInner = 1;
    console.log(varOuter + varInner);
  }
  funcInner();
}
funcOuter(); */

//example 5
/* var dwightSalary = (function() {
  var baseSalary = 60000;

  function changeBy(amount) {
    baseSalary += amount;
  }
  return {
    raise: function() {
      changeBy(5000);
    },
    lower: function() {
      changeBy(-5000);
    },
    currentAmount: function() {
      return baseSalary;
    }
  };
})();
alert(dwightSalary.currentAmount());
dwightSalary.raise();
alert(dwightSalary.currentAmount());
dwightSalary.lower();
alert(dwightSalary.currentAmount()); */

//example 6
/* function addNumbers(firstNum, secondNum) {
  function add() {
    return firstNum + secondNum;
  }
  return add();
}

var result = addNumbers(10, 20);

console.log(result); */

//example 7
function increamentClicCount() {
	var clickCount = 0;
  return ++clickCount;
}