`

JS--prototype属性

阅读更多
    在js中,每个对象都有一个prototype属性:返回对象类型原型的引用。很拗口!习语“依葫芦画瓢”,这里的葫芦就是原型,那么“瓢.prototype” 返回的就是葫芦,或者“瓢.prototype= new 葫芦()”。

prototype的用途:

继承
有一个对象--子类:

function 子类() ...{
this.lastname = "Samuel";
}
有一个对象--父类:

function 父类() ...{
this.firstname = "Shen";
}
现在子类是有名无姓,父类是有姓无名,如果子类要有名有姓的话,只要说明--子类的原型是父类--就可以了,即子类继承自父类:

子类.prototype = new 父类();
至此,子类就不再是有名无姓了。

alert(子类.firstname + " " + 子类.lastname);    //Samuel Shen


牵一发而动全身
既然prototype返回的是原型的引用,那么如果改变原型的话,所有继承自该原型的对象都将受到影响。

    function Point(x,y)
    ...{
        this.x = x;
        this.y = y;
    }
    var p1 = new Point(1,2);
    var p2 = new Point(3,4);
    Point.prototype.z = 0; //动态为Point的原型添加了属性
    alert(p1.z);    //0
    alert(p2.z);    //0

分享到:
评论
3 楼 lian819 2014-06-24  
内容清晰易懂, 就是太浅了
2 楼 forrest_lv 2012-03-21  
你解释得通俗易懂
1 楼 阳新小子 2008-11-03  
xiedei bu cuo

相关推荐

    vue-27-prototype.mp4

    JS中所有的东西都是对象,每个对象都有prototype这个属性,这个属性是一个对象(object) 2. JS中所有的东西都由Object衍生而来, 即所有东西原型链的终点指向Object.prototype 3. JS中构造函数和实例(对象)之间有...

    js-Prototype.rar

    12个HTML格式文件,有原型链、JS封装性、JS多态、JS继承、JS私有属性等12个有关js-prototype的HTML文件

    data-module-pattern-prototype:一个尝试使用data- *属性将原始HTML与Javascript绑定以创建动态行为的小项目

    任何元素都可以具有“数据模块”属性,该属性告知该元素将使用哪个模块,这是一个简单JavaScript函数,可以接受该元素并使用JavaScript添加自定义行为。 模块不过是遵循此描述的功能: export default function ...

    js遍历属性 以及 js prototype 和继承

    NULL 博文链接:https://jinhailion.iteye.com/blog/1530966

    JavaScript中对象的prototype属性代码实例

    我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...

    JavaScript prototype对象的属性说明

    一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...

    JavaScript prototype属性详解

    每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型...

    js的Prototype属性解释及常用方法

    你不需要显式地声明一个prototype属性,因为在每一个构造函数中都有它的存在。你可以看看下面的例子: Example PT1 代码如下:function Test(){}alert(Test.prototype); // 输出 “Object” 给prototype添加...

    js资料prototype 属性

    资料:prototype 属性 返回对象类型原型的引用。 objectName.prototype objectName 参数是对象的名称。 说明 用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。 例如,...

    JavaScript类和继承 prototype属性

    prototype属性本质上还是一个JavaScript对象。 并且每个函数都有一个默认的prototype属性。 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为构造函数。 比如下面一个简单的场景: 代码如下: // 构造...

    JavaScript中的prototype(原型)属性研究

    JavaScript中的prototype(原型)属性研究

    Prototype-1.7.1手册

    JScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。

    谈谈js中的prototype及prototype属性解释和常用方法

    prototype是javascript中笔记难理解的一部分内容,下面通过几个关键知识点给大家讲解js中的prototype,对js中的prototype相关知识感兴趣的朋友一起学习吧

    JavaScript通过prototype给对象定义属性用法实例

    本文实例讲述了JavaScript通过prototype给对象定义属性的用法。分享给大家供大家参考。具体分析如下: 下面的JS代码定义了movie对象。在使用对象的过程中又通过prototype给对象添加了isComedy属性,调用的时候直接...

    简单理解js的prototype属性及使用

    在进入正文之前,我得先说说我认识js的prototype这个东西的曲折过程。 百度js的prototype的文章,先看看,W3School关于prototype的介绍: 你觉得这概念适合定义js的prototype这个东西吗?你是否也认为prototype是...

    JavaScript使用prototype属性实现继承操作示例

    本文实例讲述了JavaScript使用prototype属性实现继承操作。分享给大家供大家参考,具体如下: JS并没有显式的继承语法,在JS中所有的对象都是Object的子类实现, 因而对象之间是平等关系. 尽管如此我们可以通过特殊的...

    Javascript中 关于prototype属性实现继承的原理图

    Javascript中关于prototype属性实现继承的原理图

    javascript中的prototype属性使用说明(函数功能扩展)

    这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现。 在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许[‘a’,’b’,’c’].push(‘d’);这样的...

Global site tag (gtag.js) - Google Analytics