JavaScript--new function神奇過程

new operator - JavaScript | MDN

js中new 函數生成新對象的過程,new Person的過程

new function Person(){this.name
='person';console.log('in Person')} // 返回新生成的對象

function Person(){this.name
='person';console.log('in Person')} //此時還是普通函數

Person()

var aa = new Person();
  • 生成一個空的,普通js對象給aa,這個普通對象原型鏈上面爲Object
  • 把生成的普通對象的constructor指向這個Person這個函數
  • 把Person函數裏的this替換爲生成的對象
  • 如果不需要返回就返回這個生成的對象,需要返回時,就把這個對象賦值給aa
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章