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原型继承机制参考.pdf
javascript原型继承机制借鉴.pdf
javascript原型继承机制归类.pdf
Javascript继承机制原理 可以参考下
javascript原型继承机制[整理].pdf
JavaScript继承机制研究.pdf
JavaScript继承机制探讨及其应用.pdf
继承是面向对象开发的又一个重要概念,它可以将现实生活的概念对应到程序逻辑中。...在JavaScript中没有专门的机制来实现类的继承,但可以通过拷贝一个类的prototype到另外一个类来实现继承等扥,看资料
笔者历经多年javascript的开发,痛彻体会javascript面向对象编程的不便性,精心制作了一个类的定义与继承功能的js,实现了在javascript中对类的定义、继承、封装机制,主要功能特征包括: 一、 统一了类定义的语法...
学完了Javascript类和对象的创建之后,现在总结一下Javascript继承机制的实现。Javascript并不像Java那样对继承机制有严格明确的定义,它的实现方式正如它的变量的使用方式那样也是十分宽松的,你可以设计自己的方法...
本文实例讲述了javascript继承机制。分享给大家供大家参考。具体分析如下: 初学javascript一般很难理解Javascript语言的继承机制它没有”子类”和”父类”的概念,也没有”类”(class)和”实例”(instance)的...
尽管ECMAScript并没有像其他语言那样严格地定义抽象类,但有时它的确会创建一些不允许使用的类。通常,我们称这种类为抽象类。 创建的子类将继承超类的所有属性和方法,包括构造函数及方法的实现。记住,所有属性和...
这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的。这意味着所有的继承细节并非完全由解释程序处理。作为开发者,你有权决定最适用的继承方式。最原始的继承实现方式就是对象冒充,下面着重...
说明继承机制最简单的方法是,利用一个经典的例子——几何形状。
JavaScript继承机制的实现,后期会有一些补充。