this is powerful but at the same time if used without care it is dangerous too. Consider the example snippet below
// define Human class
var Human = function(name) {
this.name = name;
this.say = function(){
return "I am " + this.name;
};
};
var author = new Human('raja');
var badAuthor = Human('ford'); // new keyword missing
alert(typeof author); // object
alert(typeof badAuthor); // undefined because context changed to window
alert(author.name) // raja
alert(window.name) // ford
Notice how missing new keyword changing the context to window object.