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