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
    在这里插入图片描述
发布了259 篇原创文章 · 获赞 118 · 访问量 187万+

猜你喜欢

转载自blog.csdn.net/c5113620/article/details/103403403
今日推荐