JS原型

本文详细阐述了JavaScript中函数的prototype属性,包括其默认值和构造函数指向。讲解了如何在原型对象上添加属性以使实例共享,并通过实例演示了__proto__的作用以及对象隐式原型与显式原型的关系。
摘要由CSDN通过智能技术生成

1.函数的prototype属性
每一个函数都有一个prototype属性,它默认指向一个object空对象(即:原型对象)

console.log(Date.prototype);//{constructor: ƒ, toString: ƒ, toDateString: ƒ, toTimeString: ƒ, toISOString: ƒ, …}
原型对象中有一个属性constructor,它指向函数对象
console.log(Date.prototype.constructor === Date);//true
2.给原型对象添加属性(一般都是方法)
作用:函数的所有实例对象自动拥有原型中的属性(方法)
 
    function Fun () {
         
    } ;
     //1.每一个函数function都有一个prototype,即显式原型
     console.log(Fun.prototype);
    // 给原型对象添加属性(一般是方法) == 实例对象可以访问
    Fun.prototype.test = function () {
        console.log("test()");
    }
    var fun = new Fun()
    //2.每一个实例对象都有一个__proto__,称为隐式原型
    console.log(fun.__proto__);
    fun.test()
    
    //3.对象的隐式原型的值为其对应构造函数的显式原型的值
    console.log(Fun.prototype===fun.__proto__);

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值