原型对象

简介: 原型对象

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

「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日
相关文章
|
1月前
|
JavaScript 前端开发
原型,原型链
原型,原型链
|
1月前
|
JavaScript 前端开发
prototype(原型对象)
原型对象(prototype)是 JavaScript 中一种特殊的对象,它用于实现对象之间的属性和方法共享。在 JavaScript 中,所有的对象都有一个原型(除了全局对象,如 Math、Date 等),当我们试图访问一个对象的属性或方法时,如果该对象本身没有这个属性或方法,Jav
13 1
|
11月前
|
JavaScript 前端开发
什么是原型链
什么是原型链
|
7月前
|
JavaScript 前端开发
原型和原型链
原型和原型链
22 0
|
8月前
38 # 简单描述原型链
38 # 简单描述原型链
20 0
|
8月前
|
JavaScript 前端开发
什么是原型链?
什么是原型链?
64 0
|
11月前
|
存储 JavaScript 前端开发
深入理解原型与原型链
当我们在 JavaScript 中创建一个对象时,它会自动继承一个称为“原型”的对象。如果该对象访问一个属性或方法,但在自己的属性列表中找不到,它会沿着原型链向上查找,直到找到该属性或方法为止。在本篇文章中,我们将深入探讨 JavaScript 中的原型与原型链。
|
JavaScript
关于原型、原型链我所知道的
关于原型、原型链我所知道的
61 0
掌握原型链,再炒冷饭系列
我们知道每一个函数都有一个自身的prototype,每一个对象都有__proto__对象,而这个__proto__我们常称之为隐式原型,正因为它连接起了对象与构造函数的关系。 当我们访问一个对象时,首先会在自身属性上找,当自身属性找不到时,会到对象的隐式链上去找,如果隐式链上还没有,那么会到构造函数的原型上找,当原型上没有时,会到原型的隐式__proto__上去找,当这个属性还找不到时,就直接返回undefined了,因此才形成了一条原型链。
掌握原型链,再炒冷饭系列
|
JavaScript 前端开发 Java
构造函数和原型链详解
在典型的OOP语言中(如Java),都存在类的概念,类就是对象的模板,对象就是类的实例,但在ES6之前,JS中并没有引入类的概念。
117 0
构造函数和原型链详解