function createPerson() {
    var name = "test1";
    var test = {
        "name": "test2",
        "getName": function() {    
            return name;
        }
    };
    return test;
}
Here when I tried, createPerson().getName() it returns test1 value of outer function instead of object variable value i.e., test2.
Why does this happen?
 
    