使用new來調用函數,或者說發生構造函數調用時,會自動執行下面的操作:
1.創建(或者說構造)一個全新的對象.
2.這個新對象會被執行[原型]連接.
3.這個新對象會綁定到函數調用的this.
4.如果函數沒有返回其他對象,那么new表達式中的函數調用會自動返回這個新對象.
最后一點就說明了,我們只要返回一個新對象即可。其實new操作符主要是把原型鏈跟實例的this關聯起來,這才是最關鍵的一點,所以我們如果需要原型鏈就必須要new操作符來進行處理。否則this則變成window對象了。
使用new來調用函數,或者說發生構造函數調用時,會自動執行下面的操作:
1.創建(或者說構造)一個全新的對象.
2.這個新對象會被執行[原型]連接.
3.這個新對象會綁定到函數調用的this.
4.如果函數沒有返回其他對象,那么new表達式中的函數調用會自動返回這個新對象.
最后一點就說明了,我們只要返回一個新對象即可。其實new操作符主要是把原型鏈跟實例的this關聯起來,這才是最關鍵的一點,所以我們如果需要原型鏈就必須要new操作符來進行處理。否則this則變成window對象了。