Javascript类的继承是通过constructor和prototype来实现的
1. 定义一个形如java的person类,然后实例化和调用它的属性
// Define a so called class
var person = function() {
this.name = "vulnerability";
this.age = 28;
}
// Instantiate the class
var p1 = new person();
alert(p1.name);
执行结果是:
vulnerability
2. 定义一个person的子类man
var man = function() {
this.show = function() {
alert("The man is showing himself");
}
}
// Let the man extend the person
man.prototype = p1;
// Instantiate the man class
var m1 = new man();
// Invoke the show method
m1.show();
prototype是设置在class上而不是实例化过的对象中
执行结果是:
The man is showing himself
3. 拿一个未设置的属性
alert(m1.name);
js解析器会从首先从当前对象去找这个属性,如果没有则顺着其原型对象链(prototype chain)去找这个属性值,如果翻遍了还没有,返回undefined。
执行结果是:
vulnerability
4. 设置属性
// Set the property of the instance of subclass
m1.name = 'susceptibility';
// Verify whether the property has been set to the instance
alert(m1.name);
// Verify whether the property of the instance of prototype
// has been modified
alert(p1.name);
js在当前对象增加(更新)该属性,所以是在m1上设置。而原型对象的属性没有被改变
执行结果是:
susceptibility
vulnerability
5. 设置原型对象的属性
// Set the property of the prototype of man
man.prototype.name = 'changed value';
// The property of the instance of subclass wouldn't be changed
alert(m1.name);
// The property of the prototype has been changed
alert(p1.name);
原型对象的属性被改变,但是子类对象没有。
执行结果是:
susceptibility
changed value
分享到:
相关推荐
JavaScript 类继承机制的原理分析: JavaScript作为一门基于原型的编程语言,其继承机制与基于类的面向对象语言截然不同。在JavaScript中,对象的继承是通过原型链来实现的,这涉及到几个关键的概念:构造函数...
JavaScript继承机制研究 在本文中,我们将深入探讨JavaScript继承机制的实现方式,并对基于原型的继承、构造函数方式继承、组合继承、寄生式继承等继承机制进行了总结归纳和分析。 基于原型的继承 JavaScript是...
JavaScript继承机制探讨及其应用 JavaScript是一门弱类型语言,具有函数式编程和面向对象编程的特点。随着近几年JavaScript生态圈的发展和成熟,项目的编码量和复杂度也在呈几何级数增长。JavaScript面向对象编程中...
### 浅析JavaScript原型继承机制 #### 一、引言 JavaScript作为一种动态语言,其对象模型与传统的面向对象编程语言有所不同。在JavaScript中,并没有直接提供类的概念,而是通过原型来实现继承。本文将深入探讨...
javascript原型继承机制参考.pdf
javascript原型继承机制借鉴.pdf
javascript原型继承机制归类.pdf
javascript原型继承机制[整理].pdf
这种继承机制使得JavaScript具有更强的表现力和灵活性,尤其在代码复用和类型安全方面。 类型安全和代码复用是类继承的主要原因。在强类型语言中,类型转换是必要的,以确保数据在不同类型的变量间正确传递。然而,...
JavaScript 中的继承机制是指子类继承父类的属性和方法,使得子类可以拥有父类的所有特征。继承是面向对象编程的基本机制之一,它可以实现代码复用、提高编程效率和增强代码的可维护性。 在 JavaScript 中,继承是...
与其他面向对象语言相比,JavaScript的继承机制更为复杂。在Java或C++等语言中,继承通常只需要一个关键字,如`extends`,但在JavaScript中,实现继承需要采用一系列技术。 JavaScript使用的是原型式继承,这是它与...
要用ECMAScript实现继承机制,首先从基类入手。所有开发者定义的类都可作为基类。出于安全原因,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击。
在JavaScript中,面向对象编程是实现复杂功能和代码复用的关键。继承是面向对象的核心特性之一,它允许一个对象(子类)从另一个对象(父类)获取...了解这些基础概念有助于我们更好地理解和使用JavaScript的继承机制。
本篇文章将深入探讨JavaScript实现继承的七种常见方式,帮助你更好地理解和运用这一概念。 1. 原型链继承(Prototype Chain Inheritance) 原型链是JavaScript实现继承的基础。每个函数都有一个`prototype`属性,这...
总的来说,理解并熟练掌握JavaScript的继承机制对于进行控件开发至关重要,它可以帮助我们构建出可扩展、可维护的代码结构,提升代码复用性,从而提高开发效率和应用质量。通过深入学习和实践,开发者可以创建出各种...
继承是面向对象开发的又一个重要概念,它可以将现实生活的概念对应到程序逻辑中。...在JavaScript中没有专门的机制来实现类的继承,但可以通过拷贝一个类的prototype到另外一个类来实现继承等扥,看资料
在JavaScript的世界里,原型继承不仅是实现对象功能共享的核心机制,也是其面向对象编程风格的基础。本文将深入探讨JavaScript原型继承的工作原理、实现方式以及在现代Web开发中的应用。 JavaScript的原型继承是一种...
笔者历经多年javascript的开发,痛彻体会javascript面向对象编程的不便性,精心制作了一个类的定义与继承功能的js,实现了在javascript中对类的定义、继承、封装机制,主要功能特征包括: 一、 统一了类定义的语法...