This illustrates a strange problem with Image objects. If you use an Image as a prototype for another object, field accesses get screwed up.

jack = { name: 'jack' }; jill = Object.create(jack); jill.name = 'jill';

jack = new Object(); jack.name = 'jack'; jill = Object.create(jack); jill.name = 'jill';

jack = new Image(); jack.name = 'jack'; jill = Object.create(jack); jill.name = 'jill';