function Person(){
this.name="朱小明";
this.fn=function(){
console.log(`名字是:${this.name}`);
}
}
// 构造函数 new关键字,new之后就变成了构造函数, new了一个实例。
// new的一瞬间做了什么?
// 构造函数中的默认返回值 返回新创建的对象 普通函数中的默认返回值为null
// 1.创建一个空对象
// 2.更改它的原型链
// 3.改变this指向
// 4.判断返回值类型
let obj=new Object(); // 有原型链
// 区别导致应用场景不同
let person=new Person();
obj2.__proto__=Person.prototype;
let result=Person.call(obj);
if(typeof result==="object"){
person=result;
}else{
person=obj;
}
js的new关键字做了4步操作:创建空对象、更改原型链、改变this指向、判断返回值类型
最新推荐文章于 2024-04-15 12:21:04 发布