Javascript的原型继承(原型prototype机制和apply和call方法)

本文介绍了JavaScript中实现继承的四种主要方法:构造继承、原型继承、实例继承和拷贝继承,并详细解析了apply和call方法在继承中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Javascript如何实现继承?

1、构造继承
2、原型继承
3、实例继承
4、拷贝继承

【1】:原型prototype机制

function Parent() {
	this.name = 'lle';
}

function Child() {
	this.age = 18;
}

// 通过原型链让Child继承Parent
Child.prototype = new Parent();
let demo = new Child();

console.log(demo.name);

【2】:apply()

function Person(name, age) {
  this.name = name;
  this.age = age;
}

function Student(name, age, grade) {
	Person.apply(this, arguments);
	this.grade = grade;
}

let lle = new Student('lle', '18', '6');
console.log('name: ', lle.name, ',age: ', lle.age, ',grade ', lle.grade

【3】 :  call()

function Person(name, age) {
	this.name = name;
	this.age = age;
}

function Student(name, age, grade) {
	Person.call(this, name, age);
	this.grade = grade;
}

let lle = new Student('lle', '18', '6');
console.log('name: ', lle.name, ',age: ', lle.age, ',grade ', lle.grade);

后两种概述: JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。简单的说就是改变函数执行的上下文,这是最基本的用法。两个方法基本区别在于传参不同。

  • call(obj,arg1,arg2,arg3);call第一个参数传对象,可以是null。参数以逗号分开进行传值,参数可以是任何类型。
  • apply(obj,[arg1,arg2,arg3]);apply第一个参数传对象,参数可以是数组或者arguments对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值