Showing posts with label Javascript. Show all posts
Showing posts with label Javascript. Show all posts

Thursday, May 3, 2012

Javascript Constructor & Namespacing

Namespacing is an obvious requirement for any JS applications in the enterprise world - apps. with several functions & data sets. Keeping data/functions i.e., objects in the global namespace would otherwise require being very creative with var names.
The following code demonstrates how to create a name space as well as constructors for JS Objects.

var a = {};
a.b = {};
a.b.C = function(){
    console.log("Constructor called!!");
    this.value="a.b.C";
    this.toString = function(){return this.value};
}

//console.log(b) // ReferenceError: b is not defined
console.log(a.b) // Object { C=function()}

var aa = new a.b.C();
console.log("Value: " + aa.toString()); // Constructor called!! 
                                        // Value: a.b.C

Friday, March 16, 2012

Javascript Singleton Pattern

This is just a working example of the idea discussed here. I thought it would help to see the working behavior.
var QuickDialog = function(){
    var privateInit = function(){console.log("init")};
    return{
        init: privateInit
    };
}();

QuickDialog.init();
QuickDialog.privateInit();
This is the firebug output for the above code.

Javascript === vs ==

=== also looks at the type


var a = "1";
var b = 1;
console.log(a===b); //false
console.log(a==b); //true