Maison > interface Web > js tutoriel > Série de modèles de conception JavaScript 4 : modèle de prototype

Série de modèles de conception JavaScript 4 : modèle de prototype

不言
Libérer: 2018-04-02 14:02:40
original
1267 Les gens l'ont consulté

Cet article partage avec vous la quatrième série de modèles de conception JavaScript : mode prototype. Les amis intéressés peuvent y jeter un œil

Le code de cette série a été téléchargé sur l'adresse GitHub de démonstration du modèle de conception JavaScript.

Qu'est-ce que le modèle de prototype ?

Modèle de prototype (Modèle de prototype) : En termes simples, cela signifie créer un prototype partagé et créer de nouveaux objets en copiant ces prototypes. Utilisé pour créer des objets répétés, ce type de modèle de conception est un modèle de création, qui constitue un bon choix pour créer des objets.

Implémentation du mode prototype

Nous pouvons implémenter le mode prototype grâce à la fonctionnalité d'héritage prototypique unique de JavaScript, c'est-à-dire créer un objet comme valeur d'attribut prototype d'un autre objet. Nous pouvons également utiliser Object. create (prototype, optionnelDescriptorObjects) pour implémenter l'héritage du prototype.

// 因为不是构造函数,所以不用大写
var someCar = {
    drive: function () { },
    name: '马自达 3'
};

// 使用Object.create创建一个新车x
var anotherCar = Object.create(someCar);
anotherCar.name = '丰田佳美';
Copier après la connexion

La méthode Object.create() utilisera l'objet prototype spécifié et ses propriétés pour créer un nouvel objet.

var vehicle = {
    getModel: function () {
        console.log('车辆的模具是:' + this.model);
    }
};

var car = Object.create(vehicle, {
    'id': {
        value: MY_GLOBAL.nextId(),
        enumerable: true 
 },
    'model': {
        value: '福特',
        enumerable: true
    }
});
Copier après la connexion

Si vous souhaitez implémenter vous-même le modèle de prototype au lieu d'utiliser directement Object.create. Vous pouvez utiliser le code suivant pour y parvenir.

var vehiclePrototype = {
    init: function (carModel) {
        this.model = carModel;
    },
    getModel: function () {
        console.log('车辆模具是:' + this.model);
    }
};


function vehicle(model) {
    function F() { };
    F.prototype = vehiclePrototype;

    var f = new F();

    f.init(model);
    return f;
}

var car = vehicle('福特Escort');
car.getModel();
Copier après la connexion

Résumé :

Le mode prototype consiste à créer un prototype partagé et à créer une nouvelle classe en copiant ce prototype, qui est utilisé pour créer des objets en double et améliorer les performances.

Référencé à partir du modèle de prototype du modèle de conception du blog de l'oncle Tom

Recommandations associées :

JavaScript Design Pattern Series 1 : Factory Pattern

Série de modèles de conception JavaScript 2 : modèle Singleton

Série de modèles de conception JavaScript 3 : modèle de constructeur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal