Pemodularan ialah amalan terbaik pengaturcaraan biasa. Pemodulatan atur cara memudahkan kita menggunakan kod orang lain dan memuatkan apa sahaja modul yang kita mahu untuk apa jua fungsi yang kita mahu, dengan itu meningkatkan kecekapan penggunaan kod dan meningkatkan kelajuan pembangunan.
Modul adalah seperti blok binaan, dengannya, kita boleh membina program dengan pelbagai fungsi dan gaya. Apakah ciri-ciri blok binaan? Kecil dan ringkas. Begitu juga, modul dalam program kami juga harus melakukan ini, memastikan bahawa fungsi yang anda cipta hanya menyelesaikan satu kerja pada satu masa, supaya pembangun lain boleh menyahpepijat dan mengubah suai kod anda tanpa perlu menyemak imbas semua kod untuk memikirkan setiap langkah. Apakah fungsi yang dilakukan oleh blok kod? Hanya dengan menjadi kecil dan ringkas seperti ini boleh mencapai fungsi universalnya.
1. Kaedah modularisasi JavaScript
1. Fungsi enkapsulasi
Skop JavaScript adalah berdasarkan fungsi, jadi kita boleh menggunakan fungsi sebagai modul.
function fn1(){ //code } function fn2(){ //code }
Kelemahan: Pembolehubah global "Mencemarkan", tiada jaminan bahawa nama pembolehubah tidak akan bercanggah dengan modul lain
2
var myModule1 = { fn1: function(){ //code }, fn2: function(){ //code } }
Segera laksanakan fungsi - disyorkan
var myModule = (function(){ function fn1(){ //code }, function fn2(){ //code }, return { fn1: fn1, fn2: fn2 }; })();
2. Kecil dan ringkas
Mengenai kecil dan mudah, mari kita lihat contoh Sebagai contoh, kita kini ingin menulis fungsi yang mencipta pautan baharu dan menambah kelas untuk hiperpautan jenis "mailto". Anda boleh melakukan ini:
function addLink(text, url, parentElement) { var newLink = document.createElement('a');//创建a标签 newLink.setAttribute('href', url);//为a标签设置href属性 newLink.appendChild(document.createTextNode(text));//为a标签添加文本 if(url.indexOf("mailto:")==-1){ newLink.className = 'mail'; } parentElement.appendChild(newLink);//将a标签添加到页面 }
Cara fungsi ditulis di sini tidak memenuhi keperluan modulariti - satu fungsi hanya melakukan satu perkara. Mari sesuaikan fungsi:
function createLink(text,url) { var newLink = document.createElement('a'); newLink.setAttribute('href', url); newLink.appendChild(document.createTextNode(text)); return newLink; }
3. CommonJS
Dalam persekitaran pelayar, kekurangan modul bukanlah masalah besar Lagipun, kerumitan program web adalah terhad tetapi di sisi pelayan, mesti ada modul untuk berinteraksi dengan sistem pengendalian dan aplikasi lain, jika tidak, pengaturcaraan tidak akan mungkin sama sekali. Walaupun JavaScript telah dibangunkan di web selama bertahun-tahun, spesifikasi modular popular pertama dibawa oleh aplikasi JavaScript sebelah pelayan Spesifikasi CommonJS dibawa ke hadapan oleh NodeJS, yang menandakan kemasukan rasmi pengaturcaraan modular JavaScript di atas pentas.
Sistem modul node.js dilaksanakan mengikut spesifikasi CommonJS. Dalam CommonJS, terdapat kaedah global require() untuk memuatkan modul.
Muatkan modul:
var math = require('math');
Modul panggilan:
math.add(2,3)
Spesifikasi CommonJS tidak boleh digunakan pada persekitaran penyemak imbas kerana ia mempunyai had utama Dalam contoh di atas, baris kedua math.add(2, 3) mesti dijalankan selepas math.js dimuatkan. dan Semua modul diletakkan di bahagian pelayan, jadi ia mungkin mengambil masa yang lama bergantung pada kelajuan rangkaian.
4. Bagaimanakah modul harus ditakrifkan dan dimuatkan?
AMD
Definisi Modul Tak Segerak takrif modul tak segerak, wakil utama: require.js
Tujuan:
(1) Laksanakan pemuatan tak segerak bagi fail js untuk mengelakkan halaman web kehilangan respons;
(2) Mengurus kebergantungan antara modul untuk memudahkan penulisan dan penyelenggaraan kod.
1. Tentukan modul
define(["./cart", "./inventory"], function(cart, inventory) { //通过[]引入依赖 return { color: "blue", size: "large", addToCart: function() { inventory.decrement(this); cart.add(this); } } } );2. Muatkan modul
require( ["some/module", "my/module", "a.js", "b.js"], function(someModule, myModule) { //This function will be called when all the dependencies //listed above are loaded. Note that this function could //be called before the page is loaded. //This callback is optional. } );
CMD
Definisi Modul Biasa Takrif modul biasa, spesifikasi CMD dibangunkan di dalam negara. Wakil utama: sea.js
1. Tentukan modul
define(function(require, exports, module) { // 通过 require 引入依赖 var $ = require('jquery'); var Spinning = require('./spinning'); // 通过 exports 对外提供接口 exports.doSomething = ... // 或者通过 module.exports 提供整个接口 module.exports = ... });2. Muatkan modul
seajs.use("../static/hello/src/main")
Perbezaan:
Untuk modul bergantung, AMD dilaksanakan lebih awal dan CMD dilaksanakan ditangguhkan. Walau bagaimanapun, bermula dari RequireJS 2.0, ia juga telah diubah untuk dapat menangguhkan pelaksanaan (kaedah pemprosesan adalah berbeza bergantung pada kaedah penulisan). CMD mengesyorkan semalas mungkin.
CMD menyokong pergantungan berdekatan, AMD menyokong pergantungan di hadapan.
Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)