Je suis juste un plus récent pour JavaScript. Je veux écrire une classe de modèle JS comme C ++. Par exemple: Nous pouvons utiliser cette classe comme ceci: p> pour C ++, c'est simple. Mais dans JS, comment il peut être expliqué? Merci beaucoup. P> p>
3 Réponses :
Vous pouvez le faire:
var A = function ( x ) {
var a = x;
this.print = function () {
console.log(a);
};
};
var test = new A(2);
test.print(); // -> 2
Peut-être que cela fonctionne, mais en utilisant cette méthode ne peut pas refléter le «modèle». Sans autre méthode, peut-être que c'est une bonne méthode. Merci..
JavaScript n'a pas besoin de modèles pour gérer les types génériques car JavaScript est un Langue dactylographiée dynamique . Cela signifie que, dans JavaScript, les fonctions peuvent accepter des arguments de n'importe quel type.
Pour obtenir la même fonctionnalité que l'exemple de modèle de votre question, vous pouvez utiliser ce code JavaScript (beaucoup plus court) à l'aide de la littérales d'objet: P>
var test = A(2); test.print();
J'ai compris. Merci et mvchr :)
Bien dans votre cas, car le paramètre de modèle est un type, vous n'avez pas besoin de le refléter dans JavaScript.
Mais si vous aviez quelque chose comme un pointeur de fonction P>
var my_class = my_class_t(function(a, b){return a < b;});
var my_instance = new my_class();
my_instance.my_method();
Pourquoi voulez-vous une classe de modèle dans une langue dactylographiée dactylographiée?
Je vais simplement traduire le code C ++ au code JS, puis venez à ce problème. Y a-t-il un moyen pour cette traduction?