Getting more up to speed
// Declared in the global scope
var Module = (function () {
// Place code here
})();
var Module = (function () {
// privateMethod is locally declared inside the new scope
var privateMethod = function () {
// Do something
};
})();
Module.privateMethod();
//"TypeError: Cannot read property 'privateMethod' of undefined
// Returning an Object with a function as a property
var Module = (function () {
return {
publicMethod: function () {
// code
}
};
})();
Module.publicMethod();
var myObjectLiteral = {
name: 'Tiety',
method: function () {
console.log(this.name);
}
};
myObjectLiteral.method();
// console.log: 'Tiety'
var Module = (function () {
var privateMethod = function () {};
return {
publicMethodOne: function () {
// I can call privateMethod()
},
publicMethodTwo: function () {
// code
},
};
})();
var Module = (function () {
// locally scoped Object
var myObject = {};
// declared using var => stays private
var privateMethod = function () {};
myObject.publicMethod = function () {
// method of the locally scoped Object
};
return myObject;
})();
var Module = (function () {
var privateMethod = function () {};
var myObject = {
publicMethodOne: function () {
},
publicMethodTwo: function () {
}
};
return myObject;
})();
var Module = (function () {
var privateMethod = function () {
// private
};
var someMethod = function () {
// public
};
var anotherMethod = function () {
// public
};
return {
someMethod: someMethod,
anotherMethod: anotherMethod
};
})();
var Module = (function () {
var privateMethod = function (message) {
console.log(message);
};
var publicMethod = function (text) {
privateMethod(text);
};
return {
publicMethod: publicMethod
};
})();
// Example of passing data into a private method
// the private method will then `console.log()` 'Hello!'
Module.publicMethod('Hello!');
var Module = (function () {
var privateArray = [];
var publicMethod = function (somethingOfInterest) {
privateArray.push(somethingOfInterest);
};
return {
publicMethod: publicMethod
};
})();
var Module = (function () {
var _privateMethod = function () {
// private stuff
};
var publicMethod = function () {
_privateMethod();
};
return {
publicMethod: publicMethod
};
})();