This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
misc:oojavascript [2016/10/05 11:26] tschulz created |
misc:oojavascript [2016/10/05 11:39] tschulz |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Object Oriented Javascript ====== | ====== Object Oriented Javascript ====== | ||
- | + | ===== Example Class ===== | |
- | <file> | + | <file javascript> |
function OOClass() | function OOClass() | ||
{ this.local_public = "public"; | { this.local_public = "public"; | ||
var local_private = "private"; | var local_private = "private"; | ||
- | this.clearSplash = function() | + | this.publicTest = function() |
- | { | + | { console.log("privprintfunc: "+this.local_public); |
} | } | ||
- | this.privTest =privTest; | + | var privTest = function() |
- | function privTest() | + | |
{ console.log("privprintfunc: "+local_private); | { console.log("privprintfunc: "+local_private); | ||
} | } | ||
+ | } | ||
+ | </file> | ||
+ | |||
+ | ===== Public Fields ===== | ||
+ | <file javascript> | ||
+ | this.local_public = "public"; | ||
+ | </file> | ||
+ | * Public fields must be addressed with the **this.** prefix when used **within the class definition** and with the **<OBJ>.** prefix when used **outside of the class definition**. | ||
+ | |||
+ | ===== Private Fields ===== | ||
+ | <file javascript> | ||
+ | var local_private = "private"; | ||
+ | </file> | ||
+ | * Private fields must be addressed without any prefix and cannot be directly address outside of the class definition. | ||
+ | |||
+ | ===== Public method ===== | ||
+ | <file javascript> | ||
+ | this.publicTest = function() | ||
+ | { console.log("privprintfunc: "+this.local_public); | ||
+ | } | ||
+ | </file> | ||
+ | |||
+ | ===== Private Method ===== | ||
+ | <file javascript> | ||
+ | var privTest = function() | ||
+ | { console.log("privprintfunc: "+local_private); | ||
} | } | ||
</file> | </file> |