所有的Function类的对象都具有这个叫call()的方法,它接受一个this操作符的宿主环境对象,还接受一个参数列表,注意不是参数数组。
这篇文章使用call()方法的第一个参数的特点来实现继承。
// 基类
function Person(name, sex)
{
this.name = name;
this.sex = sex;
this.get_nama = function(){
return this.name;
};
this.get_sex = function(){
return this.sex;
};
}
var man1 = new Person('路人甲', '男');
document.write(man1.get_nama() + ',性别:' + man1.get_sex() + '<br>');
// 子类
function PHPer(name, sex, title)
{
// 改变Person对象中this的宿主环境
Person.call(this, name, sex);
this.title = title;
this.get_title = function(){
return this.title;
};
}
var man2 = new PHPer('胡子哥', '女', 'php研发工程师');
document.write(man2.get_nama() + ',性别:' + man2.get_sex() + ',职称:' + man2.get_title());
分享到:
相关推荐
在本话题中,我们将深入探讨JavaScript中的类继承,并特别关注`this.callParent`这个方法,它是如何被用来调用超类方法的。 首先,让我们了解JavaScript中的构造函数。构造函数是一种特殊的函数,用于创建和初始化...
本篇文章将深入探讨JavaScript中实现继承的几种常见方式。 1. 原型链继承 JavaScript的原型(prototype)机制是实现继承的基础。每个函数都有一个prototype属性,这个属性指向一个对象,这个对象的属性和方法可以被...
虽然JavaScript不直接支持多重继承,但我们可以通过连续使用`call`方法来实现类似的效果。 **示例:** ```javascript function Class10() { this.showSub = function(a, b) { console.log(a - b); }; } ...
淡淡简单描述javascript中方法apply和call
在JavaScript中,继承是实现面向对象编程的关键部分,尽管过度继承应该避免,但适当使用继承可以有效复用代码。由于JavaScript本身并不直接支持传统的继承概念,开发者通常通过模拟实现。本文将探讨三种主要的...
然后,通过将父类的一个实例赋值给子类的原型,可以实现方法的继承。这样做是因为子类的实例会查找其原型链来获取方法。 ```javascript // 将父类的一个实例设置为子类的原型 Manager.prototype = new Employee(); ...
javascript中如何实现封装,继承和多态,并有详细,我天天在传谢谢
浅析JavaScript实现基于原型对象的“继承” 本文旨在对JavaScript实现基于原型对象的“继承”进行深入分析,并与基于类的继承进行比较。通过对JavaScript的原型继承机制的介绍和实例分析,提出一个改进的“寄生组合...
在深入研究 JavaScript 继承时,还需要了解其他相关概念,如 `Object.create()`、`instanceof`、`call()`、`apply()` 和 `bind()` 等方法,它们在继承实现中起到关键作用。同时,ES6 中引入的 `class` 关键字和 `...
2. 多重继承:通过使用多次call,可以在子类中继承多个父类的属性和方法,例如`Class2`的构造函数中使用了两个call调用,实现了多重继承。 3. 函数借用:一个对象可以借用另一个对象的方法。如第一个示例中,`add`...
本资料集合关注的是JavaScript中的继承派生以及与之相关的`apply`和`call`方法。 **继承**是面向对象编程的关键概念,允许一个对象(子类)继承另一个对象(父类)的属性和方法。在JavaScript中,由于它没有内置的...
在这个主题中,“javascript控件开发之继承关系”主要探讨的是如何利用JavaScript的面向对象特性来构建和组织控件的层次结构,以及如何通过继承来实现代码的复用和模块化。 在JavaScript中,继承是基于原型...
在JavaScript中,`call`和`apply`是两个非常重要的方法,它们都用于改变函数调用时的上下文(即`this`的值),并且可以灵活地传递参数。本篇文章将深入探讨这两个方法的用法、区别以及实际应用场景。 `call`方法...
JavaScript使用原型链来实现继承,每个对象都有一个`__proto__`属性,指向其构造函数的原型对象。原型对象又可以通过`__proto__`链接到另一个对象,形成一个链式结构。 ```javascript function Animal(name) { ...
在JavaScript中,继承通常涉及到两个方面:**属性继承**和**方法继承**。属性继承可以通过在构造函数内部调用父类的构造函数来实现;而方法继承则可以通过修改对象的原型链来完成。 - **属性继承**:主要是指子类...
**原理**: 在JavaScript中,原型链继承是一种实现继承的方式,它通过让子类的原型对象指向父类的一个实例来实现属性和方法的共享。 - **核心概念**: 每个函数都具有一个`prototype`属性,该属性默认是一个空的对象...
采用call方法实现继承是JavaScript中利用原型和函数作用域链实现继承的一种常见方法。通过call方法,可以指定函数在特定的作用域中执行,允许将对象的上下文在调用函数时改变,这样就可以在子构造函数中调用父构造...
在JavaScript中,可以使用多种方式来实现继承,其中之一就是通过函数来模拟继承。本文将详细介绍如何利用函数实现JavaScript的继承,并结合属性特性和描述符来深入理解这一过程。 首先,我们要了解JavaScript中的...
在这个另类导航菜单中,JavaScript可能会被用来处理用户的鼠标悬停、点击事件,改变菜单项的状态,如颜色变化、动画过渡等,以实现其“另类”的特性。 【详细知识点】: 1. **DOM操作**:JavaScript通过Document ...