原型对象

简介: 原型对象

原型对象
每一个对象都有它自己的原型对象,它可以使用原型对象上的所有属性和方法,我们可以通过一定方法向对象的原型对象上增加方法和属性。

「1」通过__ proto __添加

    name:'小白',
    age:1
}
//添加属性: cat.__proto__.color = "red";
        console.log(cat.color);//red
//添加方法: cat.__proto__eat = function(){
        console.log('吃鱼了!');
}
//添加成功后可以通过obj.方法名调用该方法
    cat.eat()//'吃鱼了!'

「2」通过构造函数的prototype属性获取原型对象并且操作

    this.name = name;
    this.age = age;
}
//通过上面的构造函数实例化一个dog对象
    let dog = new Dog('小白',3);
//通过prototype添加属性和方法
    Dog.prototype.color = "red";
    Dog.prototype.eat = function (){
        console.log('吃骨头了!')
    };
//使用新增的方法和属性
    console.log(dog.color);//red
    dog.eat();//吃骨头了

「3」通过类的prototype属性拿到原型对象

    class Bird {
        constructor(name,age){
            this.name = name;
            this.age = age;
        }
    };
//实例化
    let bird = new Brid ('靓仔',2);
//类的prototype属性拿到原型对象并且新增方法和属性
    bird.prototype.color = "red";
    brid.prototype.eat = function (){
        console.log('吃虫子了!');
    }
    console.log(brid.color);//red
    brid.eat()//吃虫子了!

「4」原型对象的应用

//例如给Date()对象新增输出格式化时间的方法
    let date = new Date ();
    Date.prototype.getFormatTime = function() {
            var year = date.getFullYear();
            var month = date.getMonth();
            var day = date.getDay();
            var hours = date.getHours();
            var minute = date.getMinutes();
            var second = date.getSeconds();
            // console.log(year +'年'+ (month+1) +'月'+ day +'日'+ hours +':'+ minute +':'+ second);
            return `${year}年${month+1}月${day}日`
        }
        console.log(date.getFormatTime());//2021年7月27日
相关文章
|
消息中间件 关系型数据库 Kafka
flink cdc 数据问题之数据丢失如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
机器学习/深度学习 并行计算 PyTorch
【机器学习】探索GRU:深度学习中门控循环单元的魅力
【机器学习】探索GRU:深度学习中门控循环单元的魅力
|
存储 分布式计算 NoSQL
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
157 0
|
搜索推荐 数据挖掘 大数据
数据具有无限性、易复制性、非均质性、易腐性和原始性五大特征
数据具有无限性、易复制性、非均质性、易腐性和原始性五大特征
907 1
|
存储 运维 安全
数据库运维之InnoDB存储引擎表损坏修复方法
InnoDB存储引擎表的损坏可能是多种因素导致的,比如服务器断电、系统崩溃、硬盘损坏、写数据过程中mysqld进程被kill掉。
1237 0
农场养成种树游戏开发逻辑源码解析
开发一个农场养成种树游戏可以为玩家提供种植和养护树木的体验,同时也可以学习有关农业和环境保护的知识。 以下是一个简单的农场养成种树游戏的开发源码demo,供参考:
|
存储 数据挖掘 BI
【python数据分析】数据的分组,遍历,统计
数据的分组,遍历,统计 俗话说:“人与类聚,物以群分”,到这里我们将学习数据的分组以及分组后统计。Pandas的分组相对于Excel会更加简单和灵活。
【python数据分析】数据的分组,遍历,统计
|
项目管理
软件工程高效学 | 实战案例:TAPD进行需求管理
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动,其根本目的是让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下。本篇通过TAPD进行需求管理。
781 0
软件工程高效学 | 实战案例:TAPD进行需求管理
|
人工智能
ai人工智能写歌词app,ai写歌词网站,ai作词软件创作版,作词人的辅助工具,押韵助手
早在2019年,AI机器人小芝(aixiegeci)就出现在音乐创作创作领域,作为一个AI人工智能写歌词app,在歌词创作领域辅助音乐人写歌词的应用。在软件上输入三句话作为关键词引导句子,选择歌词风格,30秒就能完成一首歌词的创作,根据主题来写一首原创歌词给音乐人作为歌词创作词穷时作为参考借鉴。同时,该应用软件还可以选择歌词的韵脚(十三韵)和每句歌词末尾押韵的字数。
1645 0
ai人工智能写歌词app,ai写歌词网站,ai作词软件创作版,作词人的辅助工具,押韵助手
|
索引
服务目录(Service Catalog)文章索引
服务目录(Service Catalog)文章索引,帮助您快速开始使用服务目录。
352 0