JavaScript为基于对象及Prototye的语言,个人觉得其Prototype继承要注意的两个方面:
1.子类可以通过prototype链访问父类的方法与属性
2.子类构造函数调用的构造函数,初始化父类属性
function Person(id1, name1){
this.id = id1;
this.name = name1;
};
Person.prototype.getInfo = function(){
alert(this.id + ":" + this.name);
};
function Employee(id, name, salary){
this.salary = salary;
//调用父类构造函数
Person.prototype.constructor.call(this,id,name);
};
//构造Prototype链
Employee.extend = function(Person){
function Temp(){};
Temp.prototype = Person.prototype;
Employee.prototype = new Temp();
//复原Employee构造函数
Employee.prototype.constructor = Employee;
};
Employee.extend(Person);
Employee.prototype.getSalary = function(){
alert(this.salary);
};
Employee.prototype.getInfo = function(){
alert(this.id + ":" + this.name+":"+this.salary);
};
var employee = new Employee("1","ep1",8000);
employee.getInfo();
employee.getSalary();
new Person("2","person2").getInfo();
备注:JavaScript中没有类的概念,上面提到的类实际上都是函数,一般情况下,函数通过new关键字调用后,返回一个对象,它可以看作是此函数的实例,所以我们便称此函数为类,返回的对象为类的实例.
分享到:
相关推荐
JavaScript,作为一种广泛应用于Web开发的脚本语言,其高级特性如闭包(closures)、原型(prototype)和继承(inheritance)是理解其精髓的关键。本文将深入探讨这些概念,帮助开发者更好地掌握JavaScript的核心。 ...
总的来说,"javascript prototype文档.pdf"将提供一个全面的指南,帮助读者深入理解JavaScript的原型系统,包括其工作原理、如何利用它进行继承以及在实践中应注意事项。配合"下载说明.txt",用户可以更好地了解如何...
JavaScript Prototype 是一种重要的编程概念,尤其在Web开发中不可或缺。这个压缩包文件“JavaScript_Prototype(源代码+中文手册).rar”...同时,手册也将帮助你解决实践中遇到的问题,加深对JavaScript语言的理解。
这里我们将深入探讨JavaScript继承的特性以及实践应用。 首先,JavaScript的继承基于原型链。每个对象都有一个`__proto__`属性,指向创建它的构造函数的原型对象。当试图访问对象的一个属性时,JavaScript会沿着...
在JavaScript中,继承是基于原型(prototype)的机制。每个JavaScript对象都有一个内部[[Prototype]]链接到另一个对象,这通常是其构造函数的prototype属性。通过这种方式,一个对象可以“继承”另一个对象的属性和...
第一部分讲解了JavaScript语言的面向对象和函数式编程的知识,包括静态类型语言和动态类型语言的区别及其在实现设计模式时的异同、封装、继承、多态在动态类型语言中的体现、JavaScript基于原型继承的面向对象系统的...
JavaScript中的原型(prototype)机制是实现继承的一种核心方式。由于JavaScript是一种基于原型的面向对象语言,它不支持传统的类(class)概念,因此其继承机制显得与众不同。在JavaScript中,对象可以直接从另一个...
3. **对象与原型链**:JavaScript的对象是基于原型的,通过原型链可以实现对象之间的继承。原型(prototype)是每个对象都具有的属性,它连接了对象实例与构造函数的原型对象,是JavaScript实现面向对象编程的关键...
在JavaScript中,面向对象编程是通过构造函数、原型链和继承实现的。继承是面向对象编程的核心概念之一,它允许我们创建一个新对象,该对象继承现有对象的...因此,在实践中,应当根据项目的实际情况合理选择继承策略。
JavaScript中的继承是面向对象编程的重要概念,允许子类继承父类的属性和方法。本文将深入探讨JavaScript继承的实现方式,以及其中的问题和解决...理解这些原理和实践,对于编写高效、可维护的JavaScript代码至关重要。
它通常被认为是JavaScript中实现继承的最佳实践。 除此之外,ES6引入了`class`语法,虽然在语法层面看起来更接近传统的面向对象语言,但实际上它仍然基于上述的原型继承机制。`class`声明创建的是函数,`extends`...
5. **寄生组合继承**:结合寄生继承和组合继承,避免了冗余的构造函数调用,通常被认为是JavaScript中实现继承的最佳实践。 6. **ES6的类继承**:ES6引入了`class`语法糖,使得JavaScript的继承看起来更像传统的...
**原型链继承**是JavaScript中最基本的继承形式,它基于原型对象(prototype)的概念。每个JavaScript对象都有一个`__proto__`属性,指向它的构造函数的原型。当试图访问对象的一个属性时,如果该对象上没有这个属性...
这种做法早已被认为是不好的实践,因为一旦原型被污染,所有继承该原型的实例都会受到影响。 2. **原型污染的攻击**:本文探讨的是一种理论上的攻击模型,即攻击者能够向基础对象的原型注入自己的值,以及哪些API会...
在JavaScript中,由于它没有内置的类结构,而是采用原型(prototype)链来实现继承。当一个对象作为另一个对象的原型时,后者就能访问前者的属性和方法。 **派生**,或称为子类化,是指创建一个新类(子类),该类...
在JavaScript中,Prototype是一个核心概念,它涉及到对象的继承机制。Prototype学习笔记(一)(二)涵盖了这一主题的深入探讨,旨在帮助开发者更好地理解和利用这个特性。在本篇文章中,我们将详细阐述Prototype的...
JavaScript 继承的实现是JavaScript开发中的核心概念之一,因为JavaScript并不像其他传统的面向对象语言如C++、C#或Java那样拥有内置的类和继承机制。JavaScript是一种基于对象的语言,它采用了一些独特的机制来模拟...
JavaScript是Web开发中不可或缺的一部分,尤其在前端领域更是发挥着至关重要的作用。在这个文档中,我们将深入探讨JavaScript中的封装和继承这两个核心概念,...不断地学习和实践,你将在JavaScript的世界里游刃有余。
在JavaScript中,`prototype`是一个核心概念,它关乎对象继承和函数实例化。这篇"prototype学习笔记"可能探讨了如何利用原型链实现面向对象编程的关键技术。以下是对这个主题的详细解析。 首先,理解`prototype`的...