继:http://www.cnblogs.com/hongdada/p/3328089.html
new function(){}
function(){}():
大概的总结:
function(){}中有两个对象
一个是function()的实例化,这个肯定类型是object的,称为"实例化对象".
一个是return的对象,称为“返回对象".
当function()内部没有return时,那么返回对象=实例化对象。
当new function(){}时,如果返回对象存在,并且类型是object,那么就返回返回对象,反之就返回实例化对象。
当function(){}()时,这是个方法调用,有返回对象就返回返回对象,没有则返回undefined.