possible duplicate:
what 'new' keyword in javascript?
creating objects js closure: should use “new” keyword?
see code:
function friend(name) { return { name: name }; } var f1 = friend('aa'); var f2 = new friend('aa'); alert(f1.name); // -> 'aa' alert(f2.name); // -> 'aa'
what's difference between f1
, f2
?
the new in case isn't usefull. need use new keyword when function uses 'this' keyword.
function f(){ this.a; } // new required. var x = new f(); function f(){ return { a:1 } } // new not required. var y = f();