En tant que langage dynamique, l'objet JS en JavaScript a des degrés de liberté considérables en syntaxe, il crée donc une fonction et n styles d'écriture.
Dans JS, il existe généralement deux façons de mettre en œuvre la POO:
Le premier: utilisez ce mot-clé
FunctionClass1 ()
{
this.onclick = fonction (e)
{
pour (vari = 0; i <1000; i ++)
{
vara = newDate ();
}
}
}
En utilisant ceci. La méthode peut ajouter des propriétés et des méthodes aux objets de manière flexible, et elle est similaire à la plupart des langues OOP, et peut même être ajoutée pendant le fonctionnement.
Le deuxième type: utilisez des mots clés prototypes
Functionclickfunc (e)
{
pour (vari = 0; i <1000; i ++)
{
vara = newDate ();
}
}
FunctionClass2 ()
{
}
Class2.prototype.onclick = clickfunc;
En termes d'utilisation, il n'y a pas de premier qui semble flexible. Cependant, avant qu'un objet ne soit nouveau, vous pouvez également ajouter les propriétés et les méthodes d'un objet à tout moment.
Mais ils ne sont pas égaux. Relativement parlant, je préfère le premier car la première méthode est relativement concentrée et plus facile à lire le code. Cependant, lors de la course, leur efficacité opérationnelle varie considérablement. Jetons un coup d'œil au code de test ci-dessous:
vartotal = newArray ();
FunctionTest1 ()
{
vara = newDate ();
pour (vari = 0; i <10000; i ++)
{
varc = newClass1 ();
//total.push(c);
}
varb = newDate ();
alert (b.getTime () - a.getTime ());
}
functionTest2 ()
{
vara = newDate ();
pour (vari = 0; i <10000; i ++)
{
varc = newClass2 ();
//total.push(c);
}
varb = newDate ();
alert (b.getTime () - a.getTime ());
}
La première étape consiste à tester le temps d'exécution: on constate que Test1 () prend 142 ms, tandis que Test2 () ne prend que 50 ms. En termes d'efficacité du temps, la méthode prototype est plus efficace que cela.