Functions assigned to the prototype will be shared by all instances; functions assigned in the constructor will have a separate function object per instance.
Also, functions assign in the constructor can use the constructor's variables and parameters.
For example:
var foo = function(param){
this.bar = function() { alert('I can see a parameter: ' + param); };
}
foo.prototype.baz = function() { alert('I can't see foo's parameters'); };
var car = new foo("Hi there!");
car.bar();