new的工作原理:
1.創建一個空對象,構造函數中的this會指向這個對象
2.這個新對象會被鏈接到原型
3.執行構造函數方法,其屬性和方法都會被添加到this引用的對象中
4.如果構造函數中沒有返回新對象,那麼返回this,即創建新對象;否則,返回構造函數中返回的對象。
new和字面量創建對象的區別:
1.字面量創建對象,不會調用Object構造函數,簡潔且性能更好;
2.new Object() 方式創建對象本質上是方法調用,涉及到在proto鏈中遍歷該方法,當找到該方法後,又會生產方法調用必須的 堆棧信息,方法調用結束後,還要釋放該堆棧,性能不如字面量的方式。