That's because the specific function you define in the constructor overrides the one that is inherited through the prototype.
From EcmaScript specification :
Every object created by a constructor has an implicit reference
  (called the object’s prototype) to the value of its constructor’s
  “prototype” property. Furthermore, a prototype may have a non-null
  implicit reference to its prototype, and so on; this is called the
  prototype chain. When a reference is made to a property in an object,
  that reference is to the property of that name in the first object in
  the prototype chain that contains a property of that name. In other
  words, first the object mentioned directly is examined for such a
  property; if that object contains the named property, that is the
  property to which the reference refers; if that object does not
  contain the named property, the prototype for that object is examined
  next; and so on.
In short : when looking for a function (or any property by its name), you start at the object and then go up in the prototype chain.