Web | JS Object Instances
by Zoltan Boros
HTML
<pre id="output">
</pre>
JavaScript
// https://stackoverflow.com/questions/13418669/javascript-do-i-need-to-put-this-var-for-every-variable-in-an-object
// https://javascriptweblog.wordpress.com/2010/08/30/understanding-javascripts-this/
var outputElement = document.getElementById("output");
function log(text)
{
console.log(text);
outputElement.innerHTML += text + "\n";
}
function MyClass(param1, param2)
{
var THIS = this;
this.field1 = param1;
this.field2 = param2;
var var1 = param1;
var var2 = param2;
this.method1 = function()
{
log("this.field1 + this.field2: [" + this.field1 + this.field2 + "]");
};
this.method2 = function()
{
log("THIS.field1 + THIS.field2: [" + THIS.field1 + THIS.field2 + "]");
};
this.method3 = function()
{
log("var1 + var2: [" + var1 + var2 + "]");
};
}
function FakeJQuery()
{
this.callMethod = function(method)
{
method.call(this);
};
}
var $ = new FakeJQuery();
var o1 = new MyClass("a", "b");
var o2 = new MyClass("c", "d");
o1.method1();
$.callMethod(o1.method1);
log("");
o1.method2();
$.callMethod(o1.method2);
log("");
o1.method3();
$.callMethod(o1.method3);
log("-- -- -- --");
o2.method1();
$.callMethod(o2.method1);
log("");
o2.method2();
$.callMethod(o2.method2);
log("");
o2.method3();
$.callMethod(o2.method3);