JS - Basic Closure

by patelsan

JavaScript

var digit_names = function() {
    var names = ['Zero', 'One', 'Two'];

    return function(n) {
        return names[n];
    };
}();

console.log(digit_names(1));

//Create an Object by Closure
function DataVisualizer(jsonData) {
    var that = {};
    var rawData = jsonData;
    var parseData = function(data) {
        return data + " [PARSED]";
    };

    that.Render = function() {
        parsedData = parseData(rawData);
        return parsedData + " [RENDERED]";
    };

    return that;
}

var visualizer = new DataVisualizer("{mock:data}");
console.log(visualizer.Render());
console.log(visualizer.rawData); //<-- UNDEFINED
console.log(visualizer.parseData("hgssbx")); //<-- UNDEFINED