The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I'm just starting to get my head round this, but the way I see it is:
The prototype is just a collection of properties and methods, an object, that acts as a kind of group store for all objects created with a particular constructor function.
When you try and use a property or method of an object, the object itself is checked first to see if it has that property or method, and if not then the object's prototype is checked.
So, I think your example should work. myNewObj has its own methods and you've just changed its prototype property to point to another object. oldObj will now act as the secondary lookup for any properties or methods you try and use with myNewObj.
I hope that's helpful (and true!)

prototypes are properties of constructor functions. They are not properties of object instances.

If you use object literals, not constructor functions, then there will not be a prototype.

function myOldObj() {} // constructor, so can be used with 'new'
function myNewObj() {} // constructor, so has prototype
myNewObj.prototype = new myOldObj();
var instance = new myNewObj();
// instance will now use prototype of myOldObj

if you create an instance of myObj, its constuctor will be returned as someObj.
It will act just like one of the someObjs does, but it will also have access to methods and properties assigned only to the myObj prototype.

It is a one way property lookup for the method-
if a method is defined in the instance, use that,
else if a method is defined in myObj, use that,
else if it is defined in someObj, use that,
else if it is an Object.prototype method, use that.