(function _anonymouswrapper(undefined) {
        var Skillet = {
            ingredient: "Bacon Strips",
            _isHot: true,
            fry: function fry(oliveOil) {
                this._addItem("\t\n Butter \n\t");
                this._addItem(oliveOil);
                this._addItem(this.ingredient);
                console.log("Frying " + this.ingredient);
            },
            addItem: function addItem(item) {
                console.log("Adding " + item.toString().trim());
            }
        };
            
        console.log(Skillet.ingredient);
        console.log(Skillet.fry());
        Skillet.quantity = "12";
        console.log(Skillet.quantity);
        
        Skillet._amountOfGrease = "1 Cup";
        Skillet.toString = toString;
            
        function toString() {
            console.log(this.quantity + " " +
                        this.ingredient + " & " +
                        this._amountOfGrease + " of Grease");
            console.log(this._isHot ? "Hot" : "Cold");
        }
        
        Skillet.toString();
    }());

You can use a IIFE to emulate "module scope" around your code. Then you can just use objects as you normally do.

Don't "emulate" private state using closures as that has a large memory penalty.

If your writing an enterprise application and want to keep your memory usage under 1GB avoid closures like the plague.