While you can use prototype, why do you need to? What specifically do you mean by "the article is wrong?"
In the article, you are right that he should use prototype, but not for the reason you mention. In the example, he does this.foo = function, so the function does get associated with the object. The problem is that the function gets recreated every time the HotDog constrictor gets called. Better to put getCondiments on the prototype, so that it is only defined once.
window.onload= function() {
setTimeout( "myHotDog.getCondiments();", 3000);
};