Edit in JSFiddle

function MyClass() {
    this.foo();
}

MyClass.prototype.foo = function foo() {
    var i;
    for (i = 0; i < 100; i++) {
        document.createElement("div");
    }
    this.bar();
};

MyClass.prototype.bar = function bar() {
    var i;
    for (i = 0; i < 100; i++) {
        document.createElement("div");
    }
};

obj = {
    funcA: function funcA() {
        var i;
        for (i = 0; i < 10; i++) {
            this.funcB();
        }
    },
    funcB: function funcB() {
        var i, c;
        for (i = 0; i < 10; i++) {
            c = new MyClass();
            c.bar();
        }
    }
};

function doSomething() {
    var i;
    for (i = 0; i < 10; i++) {
        obj.funcA();
    }
    return false;
}

// Instantiate a profiler then register above "doSomthing" function, functions of "obj" and class "MyClass".
var profiler = new JsProfiler();
profiler.registerFunction(window, "doSomething", "window");
profiler.registerClass(window, "MyClass");
profiler.registerObject(obj, "obj");

// Start profiler, execute some code, then stop it.
profiler.start();
doSomething();
profiler.stop();

// Print results to console at also show them as an HTML table
var results = profiler.getResults();
JsProfiler.HtmlTableGenerator.showTable(results);
JsProfiler.ConsoleTableGenerator.printResults(results);