原型及原型链个人理解

本文介绍了JavaScript中的原型(prototype)概念,指出所有函数都有一个原型对象,用于实例对象共享属性和方法。当实例对象拥有与原型同名属性时,实例的属性会优先被访问。同时,原型链通过实例对象的`__proto__`属性建立,使得实例能够访问构造函数的原型上的属性和方法。所有原型最终都会指向`Object.prototype`,而所有函数的`__proto__`都指向`Function.prototype`,进一步链接到`Object.prototype`。
摘要由CSDN通过智能技术生成

1.原型:prototype

  • 所有函数都有一个原型对象(prototype),用于让所有实例对象共享这些原型对象上的属性和方法

  • 所有实例共享的是原型对象上的同一个属性或者方法,当给实例对象添加与原型对象同名的属性或者方法时,并不会·改变原型对象上的属性或者方法,因为实例对象自定义的属性或方法会屏蔽原型对象上的

  • 访问属性或者方法的原理是:实例对象先在自身查找属性或者方法,当未找到时,才会在原型对象上查找,层层向上

  • 属于实例对象自身的属性或者方法指的是在构造函数中定义的后者自身后面添加的

    function Person(){
         
    this.a=1000;
    }
    Person.prototype.b=1000;
    var p=new Person();
    p.a;//1000
    p.b;//1000
    p.b=100;
    console.log(p.b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值