From Javascript's kiss

var Class1 = function(){
    this.website = "http://www.ilvoejs.net";
    this.showSite = function(){
        alert(this.website);
    }
}

var Class2 = function(){
};
Class2.prototype = {
    website: "http://www.ilovejs.net",
    showSite: function(){
        alert(this.website);
    }
}

var Class3 = function(){
    this.website = "http://www.ilovejs.net";
}
Class3.prototype = {
    showSite: function(){
        alert(this.website);
    }
}

var Class4 = function(){
    var website = "http://www.ilovejs.net";
    var showSite = function(){
        alert(website);
    }
    return {
        website: website,
        showSite: showSite
    }
}

var Class5 = function(){
    var website = "http://www.ilovejs.net";
    var showSite = function(){
        alert(website);
    }
    
    return new function(){
        this.website = website;
        this.showSite = showSite;
    }
}

onload = function(){
    Watch.start("Class1");
    for (var i = 0; i < 10000; i++) {
        var c1 = new Class1();
    }
    Watch.stop();
    
    Watch.start("Class2");
    for (var i = 0; i < 10000; i++) {
        var c2 = new Class2();
    }
    Watch.stop();
    
    Watch.start("Class3");
    for (var i = 0; i < 10000; i++) {
        var c3 = new Class3();
    }
    Watch.stop();
    
    Watch.start("Class4");
    for (var i = 0; i < 10000; i++) {
        var c4 = new Class4();
    }
    Watch.stop();
    
    Watch.start("Class5");
    for (var i = 0; i < 10000; i++) {
        var c5 = new Class5();
    }
    Watch.stop();
    
    Watch.report();
}