In diesem Artikel wird die Erstellung eines Befehlszeilen-Physikrechners mithilfe des IIFE-Modulmusters (Immediately Invoked Function Expression) von JavaScript veranschaulicht. Es unterteilt die Erstellung in drei modulare JavaScript-Dateien und eine package.json
-Datei zur Verwaltung des Projekts.
Die Kernfunktionalität ist in drei Module unterteilt:
iifePhysicsCalculations.js
: Dieses als IIFE implementierte Modul kapselt die physikalischen Berechnungsfunktionen. Es definiert Konstanten wie Schwerkraft und Lichtgeschwindigkeit und hält sie innerhalb des Moduls privat. Die Funktionen für Geschwindigkeit, Beschleunigung, potentielle Energie, Impuls, Energie, Kraft und kinetische Energie werden als Methoden des zurückgegebenen Objekts bereitgestellt. Getter-Methoden für die Schwerkraftkonstante und die Lichtgeschwindigkeit sind ebenfalls enthalten.<code class="language-javascript">//iifePhysicsCalculations.js export const physicsCalculations = ( function () { // Private constants const g = 9.80665; const c = 299792458; // Public methods const velocity = (distance, time) => distance / time; const acceleration = (speed, time) => speed / time; const potentialEnergy = (mass, height) => mass * g * height; const momentum = (mass, speed) => mass * speed; const energy = (mass) => mass * (c ** 2); const force = (mass, acc) => mass * acc; const kineticEnergy = (mass, speed) => 0.5 * mass * (speed ** 2); return { velocity, acceleration, potentialEnergy, momentum, energy, force, kineticEnergy, getSpeedOfLight: () => c, getGravityConstant: () => g }; } )();</code>
PhysicsEquations.js
: Dieses Modul exportiert eine Reihe von Objekten, die jeweils eine physikalische Gleichung darstellen. Jedes Objekt enthält die ID der Gleichung, die Berechnungsformel, Eingabebeschreibungen und Einheiten. Dadurch werden die Gleichungsdefinitionen sauber von der Berechnungslogik getrennt.<code class="language-javascript">//PhysicsEquations.js export const physicsEquations = [ // ... (Equation objects as in the original code) ];</code>
PhysicsCalculationsApp.js
: Dies ist die Hauptanwendungsdatei. Es importiert die beiden anderen Module, verwendet node:readline
für die Befehlszeileninteraktion und orchestriert die Benutzeroberfläche und den Berechnungsprozess. Es präsentiert ein Menü mit physikalischen Gleichungen, fordert den Benutzer zur Eingabe auf, führt die Berechnungen mit den Funktionen von iifePhysicsCalculations.js
durch und zeigt die Ergebnisse an.<code class="language-javascript">//PhysicsCalculationsApp.js import { physicsCalculations } from "./iifePhysicsCalculations.js"; import { physicsEquations } from "./PhysicsEquations.js"; import readline from 'node:readline'; // ... (rest of the code as in the original)</code>
Eine package.json
-Datei mit "type": "module"
ist erforderlich, um die ES-Modulunterstützung in Node.js zu aktivieren. Die Anwendung verwendet dann eine while
-Schleife und verspricht, Benutzereingaben und -ausgaben sauber und effizient zu verarbeiten. Aus Gründen der Robustheit könnte eine Fehlerbehandlung (z. B. für nicht numerische Eingaben) hinzugefügt werden.
Das obige ist der detaillierte Inhalt vonErstellen einer Befehlszeile Physikberechnungen Anwendung mit einem IIFE -Modulmuster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!