Rumah > hujung hadapan web > tutorial js > Membina Permohonan Pengiraan Fizik Talian Perintah dengan Corak Modul Iife

Membina Permohonan Pengiraan Fizik Talian Perintah dengan Corak Modul Iife

Patricia Arquette
Lepaskan: 2025-01-27 10:29:09
asal
951 orang telah melayarinya

Artikel ini menunjukkan membina kalkulator fizik baris arahan menggunakan corak modul IIFE (Immediately Invoked Function Expression) JavaScript. Ia memecahkan penciptaan kepada tiga fail JavaScript modular dan fail package.json untuk mengurus projek.

Building a Command Line Physics Calculations Application with an IIFE Module Pattern

Kefungsian teras dibahagikan kepada tiga modul:

  • iifePhysicsCalculations.js: Modul ini, dilaksanakan sebagai IIFE, merangkum fungsi pengiraan fizik. Ia mentakrifkan pemalar seperti graviti dan kelajuan cahaya, mengekalkannya secara peribadi dalam modul. Fungsi untuk halaju, pecutan, tenaga keupayaan, momentum, tenaga, daya, dan tenaga kinetik didedahkan sebagai kaedah objek yang dikembalikan. Kaedah pengambil untuk pemalar graviti dan kelajuan cahaya juga disertakan.
<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>
Salin selepas log masuk
  • PhysicsEquations.js: Modul ini mengeksport pelbagai objek, setiap satu mewakili persamaan fizik. Setiap objek mengandungi ID persamaan, formula pengiraan, penerangan input dan unit. Ini mengasingkan definisi persamaan dengan jelas daripada logik pengiraan.
<code class="language-javascript">//PhysicsEquations.js
export const physicsEquations = [
    // ... (Equation objects as in the original code)
];</code>
Salin selepas log masuk
  • PhysicsCalculationsApp.js: Ini ialah fail aplikasi utama. Ia mengimport dua modul lain, menggunakan node:readline untuk interaksi baris arahan dan mengatur antara muka pengguna dan proses pengiraan. Ia membentangkan menu persamaan fizik, menggesa pengguna untuk input, melakukan pengiraan menggunakan fungsi daripada iifePhysicsCalculations.js dan memaparkan hasilnya.
<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>
Salin selepas log masuk

Fail package.json dengan "type": "module" diperlukan untuk mendayakan sokongan modul ES dalam Node.js. Aplikasi kemudian menggunakan gelung while dan berjanji untuk mengendalikan input dan output pengguna dengan cara yang bersih dan cekap. Pengendalian ralat (cth., untuk input bukan angka) boleh ditambah untuk keteguhan.

Atas ialah kandungan terperinci Membina Permohonan Pengiraan Fizik Talian Perintah dengan Corak Modul Iife. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan