En JS, la création d'un objet (Create Object) n'est pas exactement la création d'un objet de classe comme on le dit souvent. L'objet en JS met l'accent sur un type composite. La création d'objets et l'accès aux objets en JS sont extrêmement flexibles.
Un objet JS est un type composite qui vous permet de le stocker et d'y accéder via des noms de variables. En d'autres termes, un objet est une collection non ordonnée de propriétés. Chaque élément de la collection est composé d'un nom et d'une valeur. Cela ne semble-t-il pas bizarre ? Comme la table HASH, le dictionnaire, la paire clé/valeur que nous entendons souvent ?), et le type de valeur peut être un type intégré (tel qu'un nombre, une chaîne) ou un objet.
1. Entouré d’une paire d’accolades
Copiez le code comme suit :
var videObj = {};
var monObj =
{
'id' : 1, //Les noms d'attributs sont placés entre guillemets et les attributs sont séparés par des virgules
'nom' : 'monNom'
} ;
//var m = new monObj(); //Non pris en charge
Je me demande si vous avez remarqué que les objets sont tous déclarés à l'aide de var. Comme le code ci-dessus, il déclare simplement un objet. Vous ne pouvez pas utiliser la nouvelle opération comme pour instancier un objet de classe. section. Cela limite considérablement la réutilisation des objets. À moins que l'objet que vous créez ne nécessite qu'une seule copie, envisagez d'utiliser d'autres méthodes pour créer l'objet.
Voyons comment accéder aux propriétés et méthodes d'un objet.
Copiez le code comme suit :
var monObj =
{
'identifiant' : 1,
'amusant' : function() {
document.writeln(this.id + '-' + this.name);//Accès en mode "object.property"
},
'nom' : 'monObj',
'fun1' : fonction() {
document.writeln(this['id'] + '+' + this['name']);//Accès en mode collection
}
} ;
monObj.fun();
monObj.fun1();
// résultat
// 1-monObj 1+monObj
2. Utilisez le mot-clé de fonction pour simuler la classe
Utilisez-le dans la fonction pour faire référence à l'objet actuel et déclarez des propriétés en leur attribuant des valeurs. Si une variable est déclarée avec var, la variable est une variable locale et ne peut être appelée que dans la définition de la classe.
Copiez le code comme suit :
fonction maClasse() {
this.id = 5 ;
this.name = 'maclasse';
this.getName = fonction() {
renvoie this.name ;
}
}
var ma = new maClasse();
alert(mon.id);
alert(mon.getName());
// résultat
// 5
//ma classe
3. Créez un objet dans le corps de la fonction, déclarez ses propriétés et renvoyez
Pour créer un objet dans le corps de la fonction, vous pouvez utiliser la méthode du premier point, ou utiliser d'abord new Object(); puis attribuer des valeurs à chaque attribut.
Toutefois, les objets créés de cette manière ne disposent pas d'invites intelligentes dans VS2008 SP1.
Copiez le code comme suit :
fonction maClasse() {
var obj =
{
'identifiant' : 2,
'nom' : 'ma classe'
} ;
retourner obj ;
}
fonction _maClasse() {
var obj = nouvel objet ();
obj.id = 1 ;
obj.name = '_maclasse';
retourner obj ;
}
var ma = new maClasse();
var _my = new _myClass();
alert(mon.id);
alert(mon.nom);
alerte(_my.id);
alerte(_my.name);
// résultat
// 2
//ma classe
// 1
// _maclasse