Constructors are like normal functions in javascript.
function Vehicle (param1, param2){
this.param1 = param1;
this.param2 = param2;
}
Why do we need to call them with new operator
1) var car = new Vehicle ('abc' , 'def');
Why not like this and explicitly return 'this' ?
2) var car = Vehicle('abc' , 'def'); //Like a simple function call.
In 2) object is not created. and car.param1 gives undefined.
What is it that "new" is doing behind the scene?