0
点赞
收藏
分享

微信扫一扫

js中的原型模式

js是一种面向原型的语言,原型允许对象共享属性和方法;原型即Prototype,在控制台查看变量时经常能看到;

// 创建一个构造函数
function Dog(name, breed) {
    this.name = name;
    this.breed = breed;
}

// 在Dog的原型上添加一个共享的方法
Dog.prototype.bark = function () {
    console.log(this.name + " 在吃饭!");
};

// 创建两个狗的实例
var dog1 = new Dog("panghu", "Golden Retriever");
var dog2 = new Dog("bobo", "Labrador");

// 调用共享的方法
dog1.bark(); // 输出: panghu 在吃饭!
dog2.bark(); // 输出: bobo 在吃饭!

// 查看对象的原型
console.log(Object.getPrototypeOf(dog1) === Dog.prototype); // 输出: true
console.log(Object.getPrototypeOf(dog2) === Dog.prototype); // 输出: true

//原型链是JavaScript中对象之间关系的一种表示方式,每个对象都有一个原型,并且可以通过原型链访问其父对象的属性和方法。

//通过修改原型来影响所有实例:
// 修改原型上的方法
Dog.prototype.eat = function () {
    console.log(this.name + " is eating.");
};

// 现在所有Dog的实例都具有新的方法
dog1.eat(); // 输出: panghu is eating.
dog2.eat(); // 输出: bobo is eating.


通过原型模式,我们可以通过控制一个原型,来实现对继承了这个原型的对象的控制,比如修改函数等功能;

举报

相关推荐

0 条评论