Edit in JSFiddle

function classEx(name) {
    var pvtVar = "private variable";
    globalVar = "global variable";
    this.instanceVariable = name;

    var pvtFunc = function() {
        return "inside private function";
    }
    globalFunc = function() {
        return "inside global function";
    }
    this.instanceFunction = function() {
        return "inside instance function";
    }
}

var inst = new classEx("instance variable");
var op = $("#op");
op.append("<b>Variables</b>" + "<br/>");
op.append("inst.pvtVar : " + inst.pvtVar + "<br/>");
op.append("inst.globalVar : " + inst.globalVar + "<br/>");
op.append("globalVar : " + globalVar + "<br/>");
op.append("inst.instanceVariable : " + inst.instanceVariable + "<br/><hr/>");
op.append("<b>Functions</b>" + "<br/>");
try {
    op.append("inst.pvtFunc : " + inst.pvtFunc() + "<br/>");
}
catch (err) {
    op.append("inst.pvtFunc : " + err + "<br/>");
}
try {
    op.append("inst.globalFunc: " + inst.globalFunc() + "<br/>");
}
catch (err) {
    op.append("inst.pvtFunc : " + err + "<br/>");
}
op.append("globalFunc : " + globalFunc() + "<br/>");
op.append("inst.instanceFunction : " + inst.instanceFunction() + "<br/><hr/>");

//if we create 3 instances of classEx there will be 3 chunks of code for instanceFunction taking more memory
//that's when we can use the prototype object
op.append("<b>Prototype</b> <br/>");
classEx.prototype.instanceProtoFunction = function(){
    return "inside instanceProtoFunction";
}
    op.append("inst.instanceProtoFunction : " + inst.instanceProtoFunction() + "<br/>");
<div id="op"/>
div{margin:15px;}