`
田进丰
  • 浏览: 35729 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

js中prototype的含义和用法

 
阅读更多

prototype的含义:

javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。

A.prototype = new B();

理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。

function aClass()
{
  this.msg = function()
  {
     alert("aClass::msg");   
  }
}

function bClass()
{
}

bClass.prototype = new aClass();
var instance = new bClass();
instance.msg();

 //输出:aClass::msg;

上面那个例子列出的bClass中是空值,那如果其中有该怎么办?看下一个例子:

function aClass()
{
    this.msg = function()
    {
        alert("aClass::msg");   
    }
}

function bClass()
{
    this.msg =function ()
    {
        alert("bClass::msg");
    }
}

bClass.prototype = new aClass();
var instance = new bClass();

instance.msg(); 

//输出:bClass::msg;

实验证明:函数运行时会先去bClass中去找,如果找到则运行,找不到则去prototype中寻找函数。或者可以理解为prototype不会克隆同名函数。

那么怎么样才能运行aClass中方法呢,这里要用到call:

bClass.prototype = new aClass();
var instance = new bClass();


var ainstance = new aClass();
ainstance.msg.call(instance);

 //输出:aClass::msg

分享到:
评论

相关推荐

    JS:prototype用法

    ### JS:prototype用法详解 #### 一、概念解析与基本使用 `prototype`是JavaScript中一个非常重要的概念,尤其自IE4及其后续版本引入以来,成为开发人员扩展内置对象功能的强大工具。`prototype`主要服务于面向...

    js中prototype用法.docx

    js中prototype用法.docx

    js中prototype用法.pdf

    js中prototype用法.pdf

    js中prototype用法详细介绍.docx

    ### JavaScript中的Prototype用法详解 #### 一、引言 在JavaScript中,`prototype`是一个非常重要的概念,尤其是在面向对象编程(OOP)方面。通过理解并掌握`prototype`的使用,开发者可以更加灵活地扩展对象的功能,...

    prototype-1.6.0.3.js+prototype1.4 、1.5中文手册+prototype1.6英文手册

    Prototype是JavaScript库,它为浏览器环境提供了强大的对象扩展和功能,尤其在处理DOM(文档对象模型)和Ajax交互时。这个压缩包包含了Prototype库的多个版本的手册和源代码文件,便于开发者理解和使用。 首先,...

    prototype 1.6中文手册 chm+prototype 1.6.js源码 最新版

    Prototype JavaScript 框架是Web开发中的一个关键工具,它为JavaScript编程提供了许多实用的类库函数和设计模式。这个“Prototype 1.6中文手册 chm+prototype 1.6.js源码 最新版”正是面向希望深入学习和掌握...

    prototype.js简介

    在prototype.js 1.4版本中,用户可以查找特定的方法、属性和类,了解其用法和参数。这对于学习和使用该库非常有帮助。 3. **Noname1.html** - 这可能是一个示例或测试页面,用于展示如何在实际项目中使用prototype....

    prototype.js 1.6中文手册、prototype.js 1.6英文手册、

    通过阅读Prototype.js 1.6的中文和英文手册,开发者可以深入了解其用法和背后的原理,提高JavaScript编程效率,创建更具交互性和动态性的网页应用。"prototypeAPI"这个文件可能包含了Prototype.js的API参考文档,是...

    js中prototype用法详细介绍

    在JavaScript编程中,prototype是面向对象编程的一个重要概念。Prototype是给构造函数的原型对象添加属性或方法,使该构造函数创建的所有实例都能共享这些属性或方法。在IE4及后续版本中开始支持prototype属性,它...

    prototype.js文件使用和讲解

    **prototype.js 文件详解** 在JavaScript中,`prototype`是一个核心概念,它关乎对象的继承机制。...记得结合`prototype.js`开发手册,深入学习并熟练掌握其各种用法,提升你的JavaScript开发技能。

    prototype.js 1.6

    Prototype.js 是一个广泛使用的 JavaScript 库,它为浏览器环境提供了许多实用的功能,尤其是在对象操作和事件处理方面。1.6 版本是该库的一个重要里程碑,引入了许多改进和优化,使得开发人员能够更加高效地编写 ...

    JavaScript的prototype

    JavaScript中的`prototype`是一个核心概念,它涉及到对象继承和函数原型。在JavaScript中,每创建一个函数,该函数就会自动获得一个名为`prototype`的属性,这个属性是一个对象,用于实现对象间的继承。同时,每个...

    js框架prototype 1.6 中文参考手册 天涯浪子

    8. **JSON支持**:在1.6版本中,Prototype对JSON(JavaScript Object Notation)进行了支持,提供了`Object.toJSON()`和`JSON.parse()`方法,便于数据序列化和反序列化。 9. **兼容性**:Prototype 1.6致力于提高跨...

    prototype.js

    在Web开发领域,JavaScript库和框架极大地提高了开发效率,其中Prototype.js就是一款非常流行的开源JavaScript框架。本文将深入探讨Prototype.js的核心概念、功能特性以及其在实际开发中的应用。 Prototype.js,...

    prototype.js源码及PDF文档

    《prototype.js源码及PDF文档》是一份宝贵的资源,它包含了一个重要的JavaScript库——Prototype的源代码和相关的PDF文档。Prototype是Web开发中一个广泛使用的开源JavaScript框架,它旨在简化DOM操作,提供强大的...

    prototype 中文开发手册和chm帮助文档

    在DOM操作方面,Prototype提供了一套强大的DOM操作接口,如Element.extend()、Element.update()、Element.insert()等,这些方法使得在JavaScript中操作DOM元素变得简单易懂。同时,Prototype的Event模块允许我们方便...

    prototypejs和例子代码

    PrototypeJS 是一个广泛使用的JavaScript库,它为浏览器端的JavaScript编程提供了一系列强大的工具和功能,大大简化了DOM操作、事件处理、Ajax交互等任务。在标题中提到的"prototype1.4.js"和"prototype1.5.js"是...

    JS中prototype的用法实例分析

    本文实例讲述了JS中prototype的用法。分享给大家供大家参考。具体分析如下: JS中的phototype是JS中比较难理解的一个部分   本文基于下面几个知识点:   1 原型法设计模式 在.Net中可以使用clone()来实现原型法 ...

    Prototype 中文chm教程 Prototype 中文电子图书 Prototype中文帮助文档下载

    Prototype.js 是一个强大的JavaScript库,由Sam Stephenson 创建,它为JavaScript编程提供了许多实用的工具和功能,使得在Web开发中处理DOM(Document Object Model)和事件变得更加简单。本教程将深入探讨Prototype...

Global site tag (gtag.js) - Google Analytics