Différences : 1. Le langage C nécessite une gestion manuelle de la mémoire, tandis que la mémoire JavaScript est gérée par l'interpréteur ; 2. Le langage C est un langage typé statiquement, tandis que JavaScript est un langage typé dynamiquement 3. Il existe des fermetures dans JS et C ; Un tel langage n'existe pas ; 4. Le langage C est un langage compilé, tandis que JavaScript est un langage interprété.
L'environnement d'exploitation de ce tutoriel : système windows7, version javascript1.8.5&&c99, ordinateur Dell G3.
La différence entre le langage C et JavaScript
1. Le langage C nécessite que les programmeurs gèrent manuellement la mémoire (se référant principalement à l'application et à la libération de la mémoire tas), tandis que la mémoire JavaScript est gérée par l'interpréteur
2. Le langage C est un langage typé statiquement, c'est-à-dire que le type de données de chaque variable est déterminé avant l'exécution du programme et ne peut pas être modifié au moment de l'exécution, tandis que JavaScript est un langage typé dynamiquement et le type de données des variables peut toujours changer au moment de l'exécution. runtime ;
3. C Il n'y a pas de concept de fermeture dans le langage. Les fonctions de fermeture de formulaire JavaScript avec des variables qui sont accessibles lorsqu'elles sont définies
4. peut améliorer les opérations de blocage grâce au multithreading (principalement l'utilisation du processeur pendant les E/S), tandis que JavaScript est principalement monothread et que les opérations de blocage possibles de JavaScript sont complétées par l'API asynchrone fournie par le runtime JavaScript.
5. Le langage C est un langage compilé, tandis que JavaScript est un langage interprété. Le langage C est principalement compilé en langage machine, tandis que JavaScript est principalement interprété et exécuté comme un script par l'interpréteur
Du point de vue du type statique ou du type dynamique
type statique, chaque variable peut être connue lors de la compilation ; Le type doit également être indiqué lors de la programmation, comme le type entier int, le type à virgule flottante float, etc. en Java. C, C++ et Java sont tous des langages typés statiquement.
Typage dynamique, le type de chaque variable n'est connu qu'à l'exécution. Il n'est pas nécessaire d'afficher le type spécifié lors de la programmation, comme var en JavaScript et $ en PHP. JavaScript, Ruby et Python sont tous des langages typés dynamiquement.
Le typage statique ou typage dynamique a un grand impact sur les performances du langage.
Pour les types statiques, après compilation, ils utiliseront largement les avantages des types connus. Par exemple, le type int occupe 4 octets. Le code compilé peut utiliser l'adresse mémoire plus la méthode offset pour accéder aux variables. L’assemblage de l’algorithme adresse plus décalage est facile à mettre en œuvre.
Pour les types dynamiques, ils seront enregistrés sous forme de chaînes et la correspondance de chaînes sera utilisée pour un accès ultérieur.
Du point de vue compilé ou interprété
Les langages compilés, comme C et C++, nécessitent qu'un compilateur se compile en un programme exécutable local avant de pouvoir être exécuté, qui est implémenté manuellement par le développeur après le l’écriture est terminée. Les utilisateurs utilisent uniquement ces codes natifs compilés, qui sont exécutés par le chargeur système et directement exécutés par le CPU du système d'exploitation sans avoir besoin d'autres machines virtuelles supplémentaires.
Code source=》Arbre de syntaxe abstraite=》Représentation intermédiaire=》Code natif
Langage interprété, comme JavaScript, Python, une fois le langage de développement écrit, le code est directement remis à l'utilisateur, et l'utilisateur utilise l'interpréteur de script pour convertir le fichier script Explication et exécution. Pour les langages de script, il n'y a pas de processus de compilation pour les développeurs, bien sûr, pas absolument.
Code source=》Arbre de syntaxe abstraite=》Interprétation et exécution de l'interprète.
【Apprentissage recommandé : Tutoriel avancé 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!