Изучаю JS по вашему курсу 
http://learn.javascript.ru/ (спасибо, замечательный курс), но тем не менее остаются вопросы
Какая разница между 
var Foo = {
  name: 'Vasya',
  func: function() {
    doSomething();
  }
}
и
function Foo() {
  this.name = 'Vasya';
  this.func = function() {
    doSomething();
  }
}
var FooObj = new Foo();
Также не очень понял про члены объектов:
function Foo() {
  var name = ''; // 1
  name = ''; // 2
  this.name = ''; // 3
}
Чем они отличаются, и как писать в промышленном коде?