javaScript之原型链

本文详细介绍了JavaScript中的原型链概念,通过实例解析了对象如何通过prototype属性实现继承,以及在查找属性或方法时沿着原型链的查找过程。同时,提到了Object.prototype作为原型链的顶层,并展示了如何为所有对象添加共享属性。最后,通过代码展示了实例对象和Object构造函数原型对象的属性访问情况。
摘要由CSDN通过智能技术生成

原型链

对象之间的继承关系,在JavaScript中是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条,称之为原型链;

  • 1.当访问一个对象的属性或方法时,会先在对象自身上查找属性或方法是否存在,如果存在就使用对象自身的属性或方法。如果不存在就去创建对象的构造函数的原型对象中查找 ,依此类推,直到找到为止。如果到顶层对象中还找不到,则返回 undefined。
  • 2.原型链最顶层为 Object 构造函数的 prototype 原型对象,给 Object.prototype 添加属性或方法可以被除 null 和 undefined 之外的所有数据类型对象使用。
    原型链
// 构造函数
function Foo(name){
    this.name = name;
    this.age = 20;
    //this.test = "你好,小陈"    //  你好,小陈
}
//原型对象;
Foo.prototype.fn = function () {
    console.log("f");
}
// Foo.prototype.test = "hello";   //hello
Object.prototype.test = "你好222";   //你好222
let newFoo = new Foo("小陈");
console.log( newFoo.test);
let obj  = new  Object();
console.log(Object.prototype.__proto__);  // null
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值