Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah JavaScript hanya digunakan untuk menulis bahagian hadapan?

Bolehkah JavaScript hanya digunakan untuk menulis bahagian hadapan?

青灯夜游
青灯夜游asal
2022-10-09 17:24:382118semak imbas

JavaScript bukan sahaja boleh menulis bahagian hadapan, ia juga boleh menulis bahagian belakang JavaScript boleh menggunakan Node.js untuk mencapai pembangunan bahagian belakang. Node.js ialah platform pembangunan yang membolehkan JavaScript dijalankan di bahagian pelayan Ia adalah persekitaran JavaScript bahagian pelayan "I/O" yang dipacu oleh peristiwa Node.js boleh difahami sebagai JavaScript yang berjalan di bahagian pelayan, jadi JavaScript boleh ditulis di hujung belakang.

Bolehkah JavaScript hanya digunakan untuk menulis bahagian hadapan?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

JavaScript bukan sahaja boleh menulis bahagian hadapan, ia juga boleh menulis bahagian belakang.

JavaScript boleh merealisasikan pembangunan back-end melalui teknologi Node.js ialah platform pembangunan yang membenarkan JavaScript berjalan di bahagian pelayan. Ia membolehkan JavaScript menjadi perkhidmatan dengan PHP, Python , Perl, Ruby, dsb. Bahasa skrip yang setanding dengan bahasa terminal.

Node.js membenarkan js berjalan di bahagian pelayan dan menggunakan enjin Google v8 untuk membawa lonjakan prestasi, menjadikan prestasinya hampir hampir dengan bahasa go. Kaedah pengaturcaraan tak segerak membolehkannya mengendalikan konkurensi yang besar. Tetapi ia kini juga mempunyai kelemahan berikut:

Tiada kaedah pembangunan yang sangat bersatu seperti rangka kerja Spring di Java mungkin buntu sendiri dulu. Tetapi sebenarnya, untuk sistem bersaiz kecil dan sederhana, perkara yang paling penting untuk membangunkan bahagian belakang ialah membiasakan diri dengan "SQL". Selagi anda menguasai ini, anda akan diperkenalkan kepada pembangunan bahagian belakang. Kerana segala-galanya disediakan untuk anda oleh rangka kerja.

Pemilihan rangka kerja

Rangka kerja nod yang kini digunakan untuk pembangunan back-end ialah:

  • telur
  • ekspres
  • koa
  • sarang
  • . . .

Jadi bagaimana kita harus memilih cara yang baik adalah dengan melihat permulaan github Kemudian kita membandingkan permulaan koa yang paling popular. Walau bagaimanapun, penulis di sini mengesyorkan semua orang menggunakan telur atas sebab berikut:

  • Dibangunkan oleh Perkhidmatan Kewangan Alibaba, lelaran penyelenggaraan dan naik taraf dijamin
  • Lapisan bawah adalah berdasarkan koa ;
  • Pengedaran Anda boleh menggunakan berbilang teras dengan mudah apabila berkhidmat untuk memerah prestasi pelayan
  • Terdapat pemalam yang kaya untuk anda pilih, dan anda juga boleh menyesuaikan pemalam anda sendiri;
  • Tidak digalakkan untuk sistem bersaiz kecil dan sederhana Jika anda menggunakan rangka kerja seperti springboot seperti nest, lebih baik gunakan springboot terus untuk menjadi lebih lengkap, bunyi dan stabil; >
Perkara JavaScript yang mesti anda ketahui sebelum menulis bahagian belakang

Node memecahkan kesesakan JS yang hanya boleh membangunkan bahagian hadapan, dan benar-benar menyedari kejayaan mereka yang tuan JS menakluk dunia! Walau bagaimanapun, melakukan bahagian belakang adalah lebih ketat daripada melakukan bahagian hadapan, jadi anda mesti mengetahui beberapa "BUG" dalam bahasa JS. Jangan biarkan data salah dan anda akan keliru sepenuhnya.

Berikut ialah contoh beberapa masalah biasa dalam pemprosesan data JS, serta penyelesaian! Bantu semua orang menyatukan asas JS dan elakkan lencongan dalam kerja.

1. Masalah data titik terapung kehilangan ketepatan:

Jenis titik terapung dibahagikan kepada jenis titik terapung ketepatan tunggal (float)

dan

Jenis titik terapung berketepatan ganda (berganda) , yang diterangkan secara terperinci dalam bahasa ditaip kuat (C, JAVA), secara kolektif dipanggil Jenis nombor (Nombor) dalam JS. Pembaca yang berminat boleh mempelajari pengetahuan yang berkaitan Artikel ini terus kembali kepada soalan di atas. Pertama, mari kita lihat prestasi kehilangan masalah ketepatan Kod sumber adalah seperti berikut:

Hasilnya hendaklah

console.log(0.1+0.2);    //0.30000000000000004
0.3

, tetapi apabila berjalan Hasilnya adalah masalah yang mengelirukan. Ini sama sekali tidak dibenarkan dalam pembangunan bahagian belakang Masalah ini bukan sahaja muncul dalam JS Selepas ujian, masalah ini wujud dalam JAVA dan PHP, tetapi tidak wujud dalam C. Mengapa saya tidak mempelajari bahasa lain? Saya tidak tahu mengapa! Selepas bercakap tentang masalah, mari kita bercakap tentang penyelesaiannya adalah seperti berikut:

Nasib baik, melalui kod di atas, kami mendapat hasil yang betul yang kami inginkan, tetapi JS diserahkan kepada kami Masalahnya belum selesai, sila lihat soalan berikut

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

2. toFixed() rounding BUG:

toFixed ()
kaedah Formatkan nilai berangka menggunakan tatatanda titik tetap. Ringkasnya, ia adalah proses membundarkan data, dan titik tetap mewakili bilangan tempat perpuluhan yang akan dikekalkan.

Soalan ini masih berkaitan dengan data "Floating point" soalan sebelumnya Lihat kod contoh di bawah:

Nasib baik editor itu mahir dalam matematik di sekolah rendah. dan seolah-olah telah menjadi ahli matematik selama beberapa tahun Wakil kelas (dengan penuh kegembiraan) melihat sepintas lalu bahawa jawapan yang betul sepatutnya

let a=1.115;
console.log(a.toFixed(2))    //1.11
1.12

. Editor yang bijak sedang berusaha keras untuk mencari cara untuk mengatasi masalah tersebut Sila lihat kod sumber: Apabila membangunkan aplikasi bahagian belakang menggunakan JS, anda mesti memberi perhatian kepada anomali data ini. Untuk lebih banyak soalan, pembaca dijemput untuk belajar sendiri.

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


Sepuluh juta baris kod, baris asas pertama. Asasnya tidak kukuh, dan saya akan mengalirkan air mata mulai sekarang.

Nota: Contoh kod menggunakan sintaks versi ECMAScript 2015 Jika anda mempunyai keperluan keserasian, jangan lupa untuk mengubah suai kod sumber.

Sepuluh juta baris kod, serasi dengan baris pertama. Serasi atau tidak, saya menitiskan air mata di dua baris pertama.

[Cadangan berkaitan: pembangunan bahagian hadapan web]

Atas ialah kandungan terperinci Bolehkah JavaScript hanya digunakan untuk menulis bahagian hadapan?. 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