针对上一节:javascript继承之数据绑定的假设,做如下实验:
prototype模式
先运行一段代码:
function Animal(){ this.species = "动物"; } function Cat(name,color){ this.name = name; this.color = color; } Cat.prototype = new Animal(); alert("the first cat's prototype is : "+Cat.prototype.constructor); //the first cat's prototype is : function Animal(){ // this.species = "动物"; // } Cat.prototype.constructor = Cat; alert("the second cat's prototype is : "+Cat.prototype.constructor); //the second cat's prototype is : function Cat(name,color){ // this.name = name; // this.color = color; // }
Cat.prototype = new Animal();我们将Cat的prototype对象指向一个Animal的实例。
Cat.prototype.constructor = Cat; 它相当于完全删除了prototype 对象原先的值,然后赋予一个新值。
但是,这是什么意思呢?
原来,任何一个prototype对象都有一个constructor属性,指向它的构造函数。
如果没有"Cat.prototype = new Animal();"这一行则Cat.prototype.constructor是指向Cat的;加了这一行以后,Cat.prototype.constructor指向Animal。
更重要的是,每一个实例也有一个constructor属性,默认调用prototype对象的constructor属性。
相关推荐
### 理解Javascript原型继承原理 #### 一、引言 在JavaScript中,原型继承是一种非常核心且独特的机制,它使得对象能够继承其他对象的属性和方法。本文旨在深入探讨这一机制,并通过具体的示例代码帮助读者更好地...
原型对象是JavaScript继承机制的核心。 寄生组合模式 基于原型的继承有一个缺陷,那就是它不能够很好地支持多继承。如果我们想要实现多继承,我们可以使用寄生组合模式。寄生组合模式是通过组合原型对象和构造函数...
javascript原型继承,prototype的使用,可以像java一样继承
这使得 JavaScript 中的对象可以继承原型对象的方法和属性,从而实现代码的重用和简洁。 四、原型链 在 JavaScript 中,原型对象可以形成一个链式结构,即一个对象的原型对象可以有自己的原型对象,以此类推。这...
此外,JavaScript的灵活性允许开发者选择基于类的继承方式,或者利用原型继承的微妙之处,实现更高效的设计。 4.1 为什么需要继承 继承的主要目的是代码复用和降低耦合度。通过继承,可以在已有类的基础上扩展功能...
在深入探讨JavaScript的原型继承之前,首先要明确的是JavaScript中并没有类似其他编程语言中的类继承的概念。虽然有传言JavaScript 2.0将加入类继承机制,但考虑到要让所有浏览器支持新特性可能需要很长时间,因此...
在JavaScript的世界里,原型继承不仅是实现对象功能共享的核心机制,也是其面向对象编程风格的基础。本文将深入探讨JavaScript原型继承的工作原理、实现方式以及在现代Web开发中的应用。 JavaScript的原型继承是一种...
在本文中,我们将深入探讨JavaScript继承机制的实现方式,并对基于原型的继承、构造函数方式继承、组合继承、寄生式继承等继承机制进行了总结归纳和分析。 基于原型的继承 JavaScript是一门基于原型的语言,它不像...
它的特性之一是基于原型的继承机制,这与其他采用类继承的语言(如Java或C#)形成了鲜明对比。在JavaScript中,原型继承是实现对象间属性和方法共享的关键。 **JavaScript的主要特点:** 1. **解释型语言**:...
### 浅析JavaScript原型继承机制 #### 一、引言 JavaScript作为一种动态语言,其对象模型与传统的面向对象编程语言有所不同。在JavaScript中,并没有直接提供类的概念,而是通过原型来实现继承。本文将深入探讨...
Javascript原型继承是一个被说烂掉了的话题,但是自己对于这个问题一直没有彻底理解,今天花了点时间又看了一遍《Javascript模式》中关于原型实现继承的几种方法,下面来一一说明下,在最后我根据自己的理解提出了一...
在JavaScript中,原型继承是一种核心机制,用于实现面向对象编程中的继承特性。与其他许多编程语言不同,JavaScript不使用类来实现继承,而是基于原型(prototype)的概念。本文将深入探讨JavaScript中的原型继承...
在JavaScript中,常见的继承模式有原型链继承、构造函数继承、组合继承、寄生继承、原型式继承、委托继承等。这里提到的"工具函数二"可能是介绍了一种或多种继承模式的实现方式。下面我们将详细讨论这些概念: 1. *...
### JavaScript原型继承工作原理及实例详解 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发中扮演着重要角色。其独特的面向对象机制是通过原型继承来实现的,这种机制使得JavaScript能够灵活地...
JavaScript原型继承是面向对象编程在JavaScript中的实现方式之一,它基于原型(Prototype)和对象的特性,使得一个对象可以继承另一个对象的属性和方法。在JavaScript中,每个对象都有一个特殊的内部属性`[...
原型链是JavaScript实现继承的基础。每个函数都有一个`prototype`属性,这个属性是一个对象,它的`__proto__`属性指向创建该函数的构造函数的原型。当试图访问一个对象的属性时,JavaScript会首先在当前对象中查找,...
这里我们将深入探讨JavaScript继承的特性以及实践应用。 首先,JavaScript的继承基于原型链。每个对象都有一个`__proto__`属性,指向创建它的构造函数的原型对象。当试图访问对象的一个属性时,JavaScript会沿着...