能夠參考知乎的一篇文章:https://zhuanlan.zhihu.com/p/23987456html
參考網上其餘人的文章,new發生瞭如下操做函數
參考MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/newthis
當代碼 new
Foo
(...)
執行時,會發生如下事情:prototype
Foo
.prototype
的新對象被建立。Foo
,並將 this
綁定到新建立的對象。new Foo
等同於 new
Foo
()
,也就是沒有指定參數列表,Foo
不帶任何參數調用的狀況。new
表達式的結果。若是構造函數沒有顯式返回一個對象,則使用步驟1建立的對象。(通常狀況下,構造函數不返回值,可是用戶能夠選擇主動返回對象,來覆蓋正常的對象建立步驟)參考博客園:http://www.javashuo.com/article/p-tvahjrik-ba.htmlcode
(1) 建立一個新對象;
(2) 將構造函數的做用域賦給新對象(所以 this 就指向了這個新對象) ;
(3) 執行構造函數中的代碼(爲這個新對象添加屬性) ;
(4) 返回新對象。htm
簡單總結如下:對象
比較認同是一種語法糖的操做。作了四件事或者三件事:blog
建立了一個新對象,而且將this指向它。而後執行構造函數的代碼。最後返回它。繼承