本文已参与 「新人创作礼」活动, 一起开启掘金创作之路。
构造函数 new 的工作原理: 作用与工厂函数一致, 但是代码更少
// 1. 创建一个空对象;
// 2. this 指向这个对象;
// 3. 给对象赋值;
// 4. 返回这个对象
function fn(name, age) {
}
let n1 = fn()
let n2 = new fn()
console.log(n1); // undefined
console.log(n2); // fn {} 一个空对象
// 注意点: (1) 构造函数的首字母大写: 为了提醒别人不要忘了 new 关键字
// (2) 构造函数主动写 return: `正常不会写 return 不正常的就是面试考题`
// 值类型: 无效, 返回的是 new 创建的对象
// 引用类型: 有效。他会覆盖 new 创建的对象