Edit in JSFiddle

this.toppings = ['cheese'];

var meat = {
    toppings: ['pepperoni', 
               'green pepper',
               'pineapple',
               'bacon'
              ],
    size: 'medium',
    eat: function(slice){
        console.log('nom nom nom');
        return false;
    }
}

var noMeat = {
    toppings: [ 
               'green olives',
               'green peppers',
               'tomato'
              ],
    size: 'large',
    eat: function(slice){
        return false;
    },
    preference: function(){
        return this.toppings;
    }
}



this.x = 9; 
var module = {
  x: 81,
  getX: function() { return this.x; }
};

module.getX(); // 81

var getX = module.getX;
getX(); // 9, because in this case, "this" refers to the global object

// Create a new function with 'this' bound to module
var boundGetX = getX.bind(module);
boundGetX(); // 81