I wanted to play around with wrapping my head around exactly how much wiggle room there is in Javascript scopes
var AC = function() {
function pigs_go () {
return “oink”;
}
return this;
}
pigs_go(); // doesnt work since this function doesnt exist in this scope
AC.pigs_go(); // this doesnt work either since pigs_go is a private method
Here is another test:
var AC = function(options){ // creating a class that creates an object with properties and methods as well as private variables to use.
if (typeof options != ‘object’) options = {};
var one = options.one ? options.one: 1; // private var
this.two = options.two ? options.two :2; // public property
return {
‘me’: this, // this property provides access to the entire class vars except private vars
‘work’: function() {
return this.two;
},
‘add’: function(num) {
return num + one;
}
};
};
var ac = new AC({one: 100, two: 200});
console.log(ac); // ac has ac.me (me only has me.two), ac.work(), and ac.add(num)
Leave a Reply
You must be logged in to post a comment.