new的工作原理、new和字面量创建对象的区别
new的工作原理:
1.创建一个空对象,构造函数中的this会指向这个对象
2.这个新对象会被链接到原型
3.执行构造函数方法,其属性和方法都会被添加到this引用的对象中
4.如果构造函数中没有返回新对象,那么返回this,即创建新对象;否则,返回构造函数中返回的对象。
new和字面量创建对象的区别:
1.字面量创建对象,不会调用Object构造函数,简洁且性能更好;
2.new Object() 方式创建对象本质上是方法调用,涉及到在proto链中遍历该方法,当找到该方法后,又会生产方法调用必须的 堆栈信息,方法调用结束后,还要释放该堆栈,性能不如字面量的方式。