How do I grant access to inner properties of objects in the right way? This is what does break my application:
I have an object that handles an array (simplified here):
function ListManager() {
    var list = [],
        add = function (element) {
            list.push(element);
        },
        clear = function () {
            list = [];
        };
    return {
        add: add,
        clear: clear,
        list : list
    };
};
But I get this when using it:
var manager = new ListManager();
manager.add("something");
manager.clear();
console.log(manager.list.length); // <= outputs "1"!
Stepping through the code shows, that within the clear method, list becomes a new array. But from outside the ListManager the list ist not cleared.
What am I doing wrong?
 
     
     
     
    