Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah perbezaan antara nodejs dan penyemak imbas

Apakah perbezaan antara nodejs dan penyemak imbas

青灯夜游
青灯夜游asal
2021-11-12 13:48:143467semak imbas

Perbezaan: 1. Dalam persekitaran global, ini dalam nod menghala ke global, manakala dalam penyemak imbas ini menghala ke tetingkap 2. DOM dan BOM boleh dimanipulasi secara langsung atau tidak dalam penyemak imbas, tetapi DOM tidak akan dimanipulasi dalam nod dan BOM;

Apakah perbezaan antara nodejs dan penyemak imbas

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Baru-baru ini, seorang rakan bertanya kepada saya tentang isu ini. Izinkan saya bercakap secara ringkas tentang perbezaan antara persekitaran nod dan penyemak imbas yang saya fahami, sila langkaunya.

1 Perkara ini dalam persekitaran global

Dalam nod ini menghala ke global dan dalam pelayar ini menghala ke tetingkap garis bawah A akar ditakrifkan pada permulaan;

var root = typeof self == 'object' && self.self === self && self ||
            typeof global == 'object' && global.global === global && global ||
            this;

Dan banyak API terkandung di bawah tetingkap dalam penyemak imbas, seperti amaran, dokumen, lokasi, sejarah dan banyak lagi. Kami tidak boleh menggunakan xxx(); atau window.xxx(); Oleh kerana API ini adalah enkapsulasi peringkat penyemak imbas, ia tidak tersedia dalam JavaScript. Sudah tentu, nod juga menyediakan banyak API khusus nod.

2. enjin js

Dalam penyemak imbas, pengeluar penyemak imbas yang berbeza menyediakan kernel penyemak imbas yang berbeza dan penyemak imbas bergantung pada kernel ini untuk mentafsir js yang kami tulis. Tetapi memandangkan perbezaan kecil antara kernel yang berbeza, kami memerlukan keserasian yang sepadan Nasib baik, terdapat beberapa perpustakaan yang sangat baik untuk membantu kami menangani masalah ini, seperti jquery, garis bawah, dll.

Nodejs adalah berdasarkan masa jalan JavaScript Chrome, yang bermaksud bahawa ia sebenarnya merangkumi enjin GoogleV8 (digunakan pada penyemak imbas Google Chrome). Enjin V8 melaksanakan Javascript dengan sangat cepat dan mempunyai prestasi yang sangat baik.

NodeJS tidak menyediakan enkapsulasi mudah dan kemudian menyediakan panggilan API Jika itu berlaku, maka ia tidak akan popular seperti sekarang. Node telah mengoptimumkan beberapa kes penggunaan khas dan menyediakan API alternatif untuk menjadikan V8 berjalan lebih baik dalam persekitaran bukan penyemak imbas. Sebagai contoh, dalam persekitaran pelayan, pemprosesan data binari biasanya penting, tetapi Javascript tidak menyokong ini dengan cukup Oleh itu, V8.Node menambah kelas Buffer untuk memproses data binari dengan mudah dan cekap. Oleh itu, Node bukan sahaja menggunakan V8, tetapi juga mengoptimumkannya untuk menjadikannya lebih berkuasa dalam pelbagai persekitaran.

Enjin js telah dibetulkan, dan ia juga menyokong keserasian Shenma.

3. Operasi DOM

Dalam kebanyakan kes, js dalam penyemak imbas mengendalikan DOM secara langsung atau tidak langsung (sesetengah pustaka dan rangka kerja DOM maya). Kerana kod dalam penyemak imbas terutamanya berfungsi dalam lapisan pembentangan. Tetapi nod ialah teknologi sebelah pelayan. Tiada halaman depan, jadi kami tidak akan mengendalikan DOM dalam nod.

Apakah perbezaan antara nodejs dan penyemak imbas

4. I/O membaca dan menulis

Tidak seperti pelayar, kita perlu membaca dan menulis fail seperti bahagian pelayan yang lain teknologi, nodejs menyediakan komponen yang lebih mudah. Dan penyemak imbas (untuk memastikan keserasian) mempunyai banyak masalah jika ia mahu terus membuka imej setempat dalam halaman (jangan beritahu saya ia bukan mudah, laluan relatif... Cuba saja dan anda akan tahu, atau cari perpustakaan Sama ada aliran binari, atau alamat rangkaian dipaparkan apabila dimuat naik Jika tidak, mengapa sesiapa membina perpustakaan js?), dan semua ini dilakukan oleh nod menggunakan komponen.

5. Pemuatan modul

JavaScript mempunyai ciri, iaitu API asli yang tidak menyediakan rujukan pakej melaksanakan semua perkara yang akan dimuatkan sekali gus itulah yang anda perlu lihat Terima kasih atas kemahiran penutupan anda. Semua perkara yang digunakan adalah bersama, tidak ada pembahagian dan penaklukan, dan tidak ada logik atau kebolehgunaan semula. Jika halaman atau laman web itu mudah, sudah tentu kita boleh menggunakan beberapa perpustakaan AMD dan CMD js (seperti requireJS dan seaJS) untuk menyelesaikannya, sebenarnya, banyak laman web besar melakukan ini.

API pemuatan modul CMD disediakan dalam nodeJS Jika anda telah menggunakan seaJS, anda harus bermula dengan cepat.

Node juga menyediakan npm, alat pengurusan pakej, yang boleh menguruskan perpustakaan minuman kami dengan lebih berkesan dan mudah

Sudah tentu, ES6 dalam pelayar juga mempunyai tambahan ini, saya percaya ia akan menjadi lebih baik pada masa hadapan. . .

Sudah tentu, terdapat banyak lagi perbezaan antara nod dan penyemak imbas, dan saya akan menambahkannya pada bila-bila masa.

[Pembelajaran yang disyorkan: "tutorial nodejs"]

Atas ialah kandungan terperinci Apakah perbezaan antara nodejs dan penyemak imbas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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