Différences : 1. C++ est un langage statique, tandis que JavaScript est un langage dynamique ; 2. C++ est un langage compilé, tandis que JavaScript est un langage interprété ; 3. C++ a des pointeurs, tandis que JavaScript n'en a pas ; Langage de programmation fonctionnel, C++ ne l’est pas.
L'environnement d'exploitation de ce tutoriel : système windows7, version javascript1.8.5&&C++17, ordinateur Dell G3.
1 C++ est un langage statique et js est un langage dynamique.
Les différences sont les suivantes :
Langage statique :
Il peut également effectuer une détection de type lorsqu'il n'est pas exécuté et peut détecter certaines erreurs logiques dans une certaine mesure. Mais trop de déclarations rendent le programme redondant.
Lorsque vous commencez à écrire du code, vous devez réfléchir aux types de variables et de calculs, ce qui est propice à l'écriture de bons programmes à haute disponibilité.
est utile pour les invites du compilateur et également pour comprendre le code.
Problème : Pas assez flexible, impossible d'écrire des programmes sans définir des types.
Langage dynamique :
Le plus gros avantage est la simplicité du code.
Très flexible.
Problème : La vitesse d'exécution est relativement lente et une vérification de type est requise. Le plus gros inconvénient est que les erreurs ne peuvent pas être détectées sans exécution.
2. C++ est un langage compilé et js est un langage interprété.
Le processus de compilation de C++ : Prétraitement->Optimisation de la compilation->Assemblage->Lien.
Mécanisme d'analyse Js : prétraitement (prétraitement du code de lecture segmenté) -> interprétation et exécution
3 C++ a des pointeurs, js n'a pas de pointeurs.
Dans l'affectation C++, tous les types de base sont copiés directement et les types personnalisés peuvent choisir d'effectuer une copie approfondie (copie) ou une copie superficielle (référence) en raison de l'existence de pointeurs. Dans js, toutes les affectations de types de base sont des copies et toutes les autres affectations de types sont des références.
4. JS est un langage de programmation fonctionnel, ce n'est pas le cas du C++.
Js traite les fonctions comme des objets, qui peuvent être utilisés comme paramètres d'entrée et valeurs de sortiede fonctions (fonctions d'ordre supérieur).
C++ Si vous souhaitez utiliser une fonction comme paramètre d'entrée d'autres fonctions, c'est-à-dire pour implémenter une fonction d'ordre supérieur, vous devez passer un pointeur de fonction (souvent un paramètre de type supplémentaire (void *) est passé en paramètre du paramètre de fonction).
5. L'héritage du C++ est basé sur des classes, et l'héritage de js est basé sur des prototypes
En C++, l'héritage s'effectue via les classes. Cela correspond davantage à la pensée intuitive des gens. Dans le même temps, une fois générée, une classe ne peut être modifiée que si sa définition est modifiée. (L'héritage de Ruby basé sur des classes ouvertes peut ajouter arbitrairement le contenu de la classe après définition)
En js, l'héritage s'effectue via la chaîne de prototypes. Il est également possible de modifier la chaîne de prototypes après définition. Dans le même temps, vous pouvez également modifier la chaîne de prototypes du type intégré pour étendre le type intégré (à utiliser avec prudence, le patch singe peut entraîner une modification significative de l'objet intégré et produire un comportement imprévisible).
【Recommandations associées : Tutoriel d'apprentissage Javascript】
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!