Maison >interface Web >Questions et réponses frontales >JavaScript peut-il être utilisé uniquement pour écrire du front-end ?
JavaScript peut non seulement écrire en front-end, il peut également écrire en back-end ; JavaScript peut utiliser Node.js pour réaliser le développement back-end. Node.js est une plate-forme de développement qui permet à JavaScript de s'exécuter côté serveur. Il s'agit d'un environnement JavaScript « E/S » côté serveur piloté par les événements. Node.js peut être compris comme du JavaScript exécuté côté serveur, donc JavaScript. peut être écrit sur le back-end.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
JavaScript peut non seulement écrire en front-end, il peut également écrire en back-end.
JavaScript peut réaliser un développement back-end grâce à la technologie Node.js. Node.js est une plate-forme de développement qui permet à JavaScript de s'exécuter sur le serveur. Cela fait de JavaScript un langage de script comparable aux langages côté serveur tels que PHP. , Python, Perl et Ruby .
Node.js permet à js de s'exécuter côté serveur et utilise le moteur Google v8 pour provoquer un saut de performances, rendant ses performances presque proches de celles du langage go. La méthode de programmation asynchrone lui permet de gérer une énorme concurrence. Mais il présente désormais également les défauts suivants :
Il n'existe pas de méthode de développement hautement unifiée comme le framework Spring en Java ; L'écologie n'est pas assez complète. En tant que développeur front-end qui souhaite développer le backend, vous pourriez être gêné par cela. vous-même d'abord. Mais en fait, pour les systèmes de petite et moyenne taille, le plus important pour développer un backend est de se familiariser avec « SQL ». Tant que vous maîtriserez cela, vous pourrez vous lancer dans le développement backend. Parce que tout le reste est préparé pour vous par le framework.
Sélection de frameworks
Les frameworks de nœuds actuellement utilisés pour le développement back-end sont :
Alors comment choisir ? Une bonne façon est de regarder le début de github. Ensuite, nous avons comparé le début de koa qui est le plus populaire. Cependant, l'auteur recommande ici à tout le monde d'utiliser Egg pour les raisons suivantes :
javascript Ce que vous devez savoir avant d'écrire du back-end
Node brise le goulot d'étranglement de JS uniquement en étant ; capable de développer du front-end, réalisant véritablement l'exploit de ceux qui maîtrisent JS à la conquête du monde ! Cependant, faire du back-end est beaucoup plus rigoureux que faire du front-end, vous devez donc être conscient de certains « BUG » dans le langage JS. Ne laissez pas les données se tromper et vous serez complètement confus.
Voici des exemples de problèmes courants dans le traitement des données JS, ainsi que des solutions ! Aidez chacun à consolider les bases de JS et à éviter les détours dans le travail.
1. Le problème de la perte de précision des données à virgule flottante :
Le type à virgule flottante est divisé en type à virgule flottante simple précision (float) et type à virgule flottante double précision (double), dans des langages fortement typés ( C, JAVA), qui est collectivement appelé Number en JS. Les lecteurs intéressés peuvent acquérir des connaissances pertinentes. Cet article continue de revenir aux questions ci-dessus.
Tout d'abord, examinons les performances du problème de perte de précision. Le code source est le suivant :
console.log(0.1+0.2); //0.30000000000000004
Le résultat devrait être 0.3, mais le résultat en cours est déroutant. Ceci n'est absolument pas autorisé dans le développement back-end. Ce problème n'apparaît pas uniquement en JS, après test, ce problème existe en JAVA et PHP, mais n'existe pas en C. Pourquoi n’ai-je appris aucune autre langue ? Je ne sais pas pourquoi !
Après avoir parlé du problème, parlons de la solution. Le code source est le suivant :
const floatAdd = (arg1, arg2) => { let r1,r2,m; try { r1 = arg1.toString().split(".")[1].length; } catch(e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch(e) { r2 = 0; } m =Math.pow(10,Math.max(r1,r2)); return (arg1*m+arg2*m)/m; }; console.log(floatAdd(0.1,0.2)); // 0.3
Heureusement, grâce au code ci-dessus, nous avons obtenu le résultat correct que nous souhaitions, mais les problèmes que nous a laissés JS ne sont pas terminés. . Veuillez consulter la question suivante
2. BUG d'arrondi ToFixed() :
la méthode toFixed() utilise une représentation à virgule fixe pour formater une valeur. Pour faire simple, il s'agit du processus d'arrondi des données, et le point fixe représente le nombre de décimales à conserver.
Cette question est toujours liée à la question précédente "Données à virgule flottante". Voir l'exemple de code ci-dessous :
let a=1.115; console.log(a.toFixed(2)) //1.11
Heureusement, l'éditeur est bon en mathématiques à l'école primaire et semble avoir été représentant de classe de mathématiques pendant plusieurs années. ans (je suis secrètement heureux). Vous pouvez le voir d'un coup d'œil Oui, la bonne réponse devrait être 1.12. L'éditeur intelligent travaille dur pour trouver des moyens de contourner les pièges. Veuillez consulter le code source :
const newToFixed=(value,length)=>{ let tempNum = 0; let s,temp; let s1 = value + ""; let start = s1.indexOf("."); if(s1.substr(start+length+1,1)>=5){ tempNum=1; } temp = Math.pow(10,length); s = Math.floor(value * temp) + tempNum; return s/temp; } console.log(newToFixed(1.115,2)) //1.12
Lors du développement d'applications back-end utilisant JS, vous devez faire attention à ces anomalies de données. Pour plus de questions, les lecteurs sont invités à étudier par eux-mêmes.
Des dizaines de millions de lignes de code, la première ligne de base. Les fondations ne sont pas solides et je verserai des larmes à partir de maintenant.
Remarque : L'exemple de code utilise la syntaxe de la version ECMAScript 2015. Si vous avez des exigences de compatibilité, n'oubliez pas de modifier le code source.
Des dizaines de millions de lignes de code, compatibles avec la première ligne. Compatible ou pas, j'ai versé des larmes dès les deux premières lignes.
【Recommandations associées : développement web front-end】
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!