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.