JavaScript中原型的相关概念

目前学习到JavaScript的原型部分,笔记如下,供以后参考学习,也希望能帮助到其他的人。

  • 神秘对象针对构造函数成为“原型属性”
    • 神秘对象就是构造函数的原型属性
    • 简称原型
  • 神秘对象与构造函数所创建出来的对象也有一定的关系
    • 神秘对象针对构造函数所创建出来的对象称为“原型对象”
    • 简称原型
  • 对象继承自其原型
    • 构造函数创建出的对象 继承自 构造函数的原型属性
    • 构造函数创建出的对象 继承自 该对象的原型属性
    • 构造函数所创建出来的对象与构造函数的原型属性表示的对象是两个不同的对象
      • 原型中的成员可以直接被实例对象所使用
      • 也就是说实例对象直接‘含有’原型中的成员
      • 因此,实例对象继承自原型
      • 这样的继承就是 ‘原型继承’
function Person(){}
var p = new Person();
Person.prototype.good = function(){alert('good')}
p.good();

如上代码,在内存中的运行过程如图
这里写图片描述

原型的使用方法

(1)利用对象的动态特性
    构造函数.prototype.xxx = vvv
(2)直接将原型对象替换掉(这样写内存中会有两个原型对象副本)

构造函数.prototype = {
    //方法
};

贴代码

    function Person(name,age,gender){
        this.name = name;   
    }
    Person.prototype.sayHello = function(){
        console.log(this.name + '你好');
    }
    var p1 = new Person('aa');
    Person.prototype = {
        sayHello:function(){
        console.log(this.name + '你不好');
        }
    };
    var p2 = new Person('bb');
    p1.sayHello();
    p2.sayHello();

执行结果:
  aa你好
  bb你不好
不懂的可以画图看看,一画图就明白了。    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值