<script>
function Animal(name,age){
this.name = name;
this.age =age;
this.myAge = function(){
console.log(`这是一个名为${this.name}动物,它已经${this.age}岁啦`);
}
}
const dog = new Animal('狗','2')
function myNew(fn,...args){
// 创建一个新对象 指向构造函数的原型对象
const obj = Object.create(fn.prototype);
// 改变this指向
fn.apply(obj,args)
return obj;
}
// const dog = new myNew(Animal,'狗','2');
const pig = new myNew(Animal,'猪','2');
console.log(dog);
console.log(pig);
</script>
JavaScript 手写new一个对象的过程
最新推荐文章于 2024-07-12 13:52:46 发布