Professional Documents
Culture Documents
Js Study
Js Study
alert(x);
alert(y);
}
-----------------------------------------------------INNER FUNCTION
-----------------------------------------------------// Inner/Nested function defines a function within a function
function Addition(value1, value2) {
function Add(operand1, operand2) {
return operand1 + operand2;
}
return Add(value1, value2);
}
alert(Addition(1, 2));
-----------------------------------------------------CLOSURE
-----------------------------------------------------// In a closure, variables in outer function are available to inner function
var add = Addition();
add(20);
function Addition() {
var base = 100;
return function Add(offset) {
alert(offset + base);
}
}
------------------------------//Closure demonstrating data encapsulation
var Status = ChangeState();
Status("ON");
Status("OFF");
Status("XYZ");
function ChangeState() {
var SystemState = "OFF";
return function(value) {
alert("Current State : " + SystemState);
if ((value === "ON" || value === "OFF") && (value != SystemState)) {
SystemState = value;