JS | Scope instances for "classes"
How to inject different scopes to "classes"
by Zoltan Boros
HTML
<pre id="out"></pre>
JavaScript
var out = document.getElementById("out");
var i = 0, j = 10, k = 100;
var class1 = new AnonymousScope({ x : i++ });
var class2 = new AnonymousScope({ x : i++ });
var class3 = new AnonymousScope({ x : i++ });
var object1 = new class1({ x : j++ });
var object2 = new class2({ x : j++ });
var object3 = new class3({ x : j++ });
object1.doSomething(k++);
object2.doSomething(k++);
object3.doSomething(k++);
object1.doSomething(k++);
object2.doSomething(k++);
object3.doSomething(k++);
function AnonymousScope(os)
{
function SomeClass(is)
{
this.doSomething = function(param)
{
print("Outer Scope: [" + os.x + "], Inner Scope: [" + is.x + "], Param: [" + param + "]");
}
}
return SomeClass;
}
function encode(string)
{
var element = document.createElement("span");
var textNode = document.createTextNode(string);
element.appendChild(textNode);
return element.innerHTML;
}
function print(string)
{
out.innerHTML += encode(string) + "\n";
}