Maison  >  Article  >  interface Web  >  Explication détaillée du modèle de constructeur parasite JavaScript et exemples de modèles de constructeur sécurisés

Explication détaillée du modèle de constructeur parasite JavaScript et exemples de modèles de constructeur sécurisés

伊谢尔伦
伊谢尔伦original
2017-07-27 10:39:031632parcourir

Modèle de constructeur parasite

Généralement, lorsqu'aucun des modèles susmentionnés n'est applicable, le modèle de constructeur parasite peut être utilisé. L'idée de base de ce modèle est de créer une fonction qui encapsule simplement le code qui crée l'objet puis renvoie l'objet nouvellement créé ; mais en apparence, cette fonction ressemble à un constructeur typique ; Ci-dessous un exemple.

function Person(name, age, job){
 var o = new Object();
 o.name = name;
 o.age = age;
 o.job = job;
 o.sayName = function(){
 alert(this.name);
 };
 return o;
}
var friend = new Person("Nicholas", 29, "Software Engineer");
friend.sayName(); //"Nicholas"

Dans cet exemple, la fonction Person crée un nouvel objet, initialise l'objet avec les propriétés et méthodes correspondantes, puis renvoie l'objet. Ce modèle est exactement le même que le modèle d'usine, sauf que l'opérateur new est utilisé et que la fonction wrapper utilisée est appelée constructeur. Si le constructeur ne renvoie pas de valeur, il renverra une nouvelle instance d'objet par défaut.

Modèle de constructeur sûr

L'objet dit sûr fait référence à un objet qui n'a pas de propriétés publiques et dont les méthodes n'y font pas référence. Il est préférable d'utiliser les objets stables dans certains environnements sûrs (où leur utilisation et celle des nouveaux sont interdits) ou pour empêcher les données d'être modifiées par d'autres applications (telles que les programmes mashup). Les constructeurs sûrs suivent un modèle similaire aux constructeurs parasites, mais il existe deux différences : premièrement, la méthode d'instance de l'objet nouvellement créé ne fait pas référence à cela, deuxièmement, le constructeur n'est pas appelé à l'aide de l'opérateur new ; Selon les exigences d'un constructeur stable, le constructeur Person précédent peut être réécrit comme suit.

function Person(name, age, job){
 //创建要返回的对象
 var o = new Object();
 //可以在这里定义私有变量和函数
 //添加方法
 o.sayName = function(){
 alert(name);
 };
//返回对象
return o;
}

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!

Déclaration:
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