I agree. For small projects I use the same pattern but in the global namespace. I normally also create an intentional closure when initiating the object, this way I can refer to the parent object regardless of whether it's methods have been copied away or not (like when you assign an object method to an event handler)
var testObject = function()
{
// Make sure the 'this' object is always available
// to the object's methods via the 'thisObj' variable
var thisObj = this;
this.publicVar = "This is a string";
this.alertBox = function()
{
alert( thisObj.publicVar );
}
}
object1 = new testObject();
window.onload = object1.alertBox