VBScript dan JScript (Cactus Studio · CPCW) di halaman ASP
ASP memiliki kemampuan untuk mengelola program skrip bahasa yang berbeda. Lingkungan pengembangan ASP menyediakan dua mesin skrip, yaitu VBScript dan JScript. Namun, pengembang tidak terbatas hanya pada dua bahasa, selama mereka dapat menyediakan mesin skrip ActiveX yang sesuai, mereka dapat menggunakan bahasa skrip apa pun.
Pilihan bahasa skrip sering didasarkan pada berbagai alasan: ini mungkin bahasa pengembang yang paling akrab, mungkin memberikan dukungan paling khas untuk proyek yang diberikan, atau mungkin yang paling efisien. Lingkungan dan persyaratan yang berbeda membuat kita memperhatikan faktor -faktor yang berbeda ketika memilih bahasa skrip bahasa skrip.
Apa yang harus saya lakukan saat ini? Apakah saya perlu menulis ulang skrip ini dengan bahasa skrip saat ini? Dengan kata lain, apakah mungkin untuk memanggil fungsi -dalam bahasa skrip lain dalam bahasa skrip? Artikel ini menjelaskan cara mengizinkan skrip vbscript dan skrip jscript berinteraksi dalam aplikasi ASP untuk memaksimalkan karakteristik dua bahasa skrip.
1. Fungsi -day -dalam VBScript dan JScript
Dalam VBScript dan JScript, sejumlah besar fungsi fungsi -in built -in adalah sama atau serupa. Namun, fungsi Built -in dalam bahasa skrip tidak selalu merupakan fungsi yang sesuai dalam bahasa skrip lain. Misalnya, VBScript menyediakan banyak fungsi untuk mengoperasikan string dan memformat data, yang tidak ada dalam JScript. Fungsi -fungsi ini termasuk strreverse (), filter (), dan formatCurrency (). Di sisi lain, fungsi yang disediakan oleh JScript untuk mengelola array, pengkodean string, dll. Tidak didefinisikan dalam VBScript, seperti gabungan (), reverse (), pow (), operasi bit, pelarian (), dan unescape () Tunggu.
Jadi, bagaimana jika Anda memerlukan fungsi VBScript dalam program JScript?
2. Panggilan bersama dari skrip heterogen
Jika Anda perlu memanggil fungsi -in yang dibangun dalam skrip vbscript dalam skrip jscript, Anda harus menulis fungsi definisi pengguna vbscript (tempat untuk memanggil fungsi vbscript -in -in di sini), dan kemudian panggil fungsi definisi pengguna ini seperti publik Fungsi JScript dalam skrip JScript.
Misalnya, jika fungsi vbscript -dript -in yang akan dipanggil adalah formatCurrency (), Anda dapat mendeklarasikan fungsi kustom berikut:
<bahasa skrip = vbscript runat = server>
Format format (nilai)
FormatValue = FormatCurrency (nilai)
fungsi akhir
</script>
Selanjutnya, Anda dapat memanggil formatValue () seperti fungsi JScript biasa dalam kode JScript. Metode serupa juga dapat digunakan untuk memanggil fungsi JScript dari kode VBScript.
Terapkan aturan yang sama, kami dapat memanggil fungsi definisi pengguna apa pun dalam skrip apa pun. Namun, saat memanggil proses vbscript (sub) tanpa parameter (sub) dari skrip jscript. .
Ketiga, berbagi data
Dalam keadaan tertentu, mencampur penggunaan fungsi VBScript dan JScript sangat berguna, tetapi berbagi data antara skrip bahasa yang berbeda mungkin juga berguna. Metode penerapan berbagi ini sangat sederhana: tidak peduli bahasa apa pun yang digunakan, selama variabel pada pernyataan tingkat halaman dapat direferensikan secara sewenang -wenang.
Metode objek juga serupa, dan Anda dapat menggunakan pembacaan bahasa yang sesuai, memodifikasi metode atribut atau memanggil objek. Tentu saja, atribut dan metode dari objek yang diberikan ditentukan oleh bahasa membuat instance objek. Sama seperti proses panggilan dari proses VBScript di atas, ketika metode memanggil objek VBScript dengan parameter tanpa parameter dipanggil dari JScript, metode panggilan juga mengikuti aturan panggilan JScript, dan sebaliknya.
Keempat, manajemen array
Masalah berbagi array sedikit lebih rumit. Meskipun array dapat dibagi antara skrip bahasa yang berbeda seperti variabel lain, kita harus memperhatikan masalah yang kompatibel.
Array vbscript dapat direferensikan dengan simbol vbscript di bawah jscript, yaitu elemen array dari elemen array alih -alih simbol referensi elemen array jscript myarray [2] Selain itu, Anda dapat menggunakan objek JScript khusus -objek Vbarray untuk mengonversi array vbscript ke array jscript. Kode berikut membuat array jscript myjsarray dari array vbscript myvbarray:
var test = vbarray baru (myvbarray)
var myjsarray
myjsarray = temp.toArray ()
Kode di atas pertama kali membuat objek VBARRAY sementara, dan kemudian menggunakan metode ToArray () untuk mengonversi dirinya ke Array JScript. Sejak itu, saya dapat menggunakan myjsarray seperti array JScript biasa, seperti MyJSarray [1]. Namun, harus dicatat bahwa metode ToArray () akan mengubah vbaray multi -dimensi menjadi satu arript JScript -dimensi.
Array JScript lebih rumit dari VBScript. Meskipun kita dapat secara langsung mengakses metode dan atribut array JScript dalam VBScript, tidak ada metode untuk secara langsung mengakses elemen tunggal dari array JScript. Dengan kata lain, kita dapat membaca atribut panjang array jscript dalam skrip vbscript, seperti yang ditunjukkan di bawah ini:
x = myjsarray.length
Tetapi tidak mungkin membaca elemen tunggal dari array secara langsung.
x = myjsarray (3)
Metode yang layak untuk menyelesaikan masalah ini adalah melakukan proses konversi.
< %
Suhu redup
redup myvbarray
temp = myjsarray.join (,)
Myvbarray = split (temp ,,)
%>
Metode jscript gabung () di sini mengonversi elemen array myjsarray menjadi string dengan koma sebagai divisi, dan fungsi vbscript split () mengonversi string ke array vbscript. Perhatikan bahwa kami di sini adalah metode bergabung untuk memanggil jscript di bawah lingkungan VBScript. Menurut contoh ini, kami dapat mensimulasikan metode ToArray () dari objek Vbarray dari JScript dengan fungsi VBScript khusus untuk mengimplementasikan konversi dari array JScript ke array VBScript.
Lima, ringkasan
Pilihan fleksibel dari berbagai bahasa skrip dalam proyek ASP yang sama memiliki banyak keunggulan. untuk vbscript atau perpustakaan skrip universal yang dapat digunakan dalam lingkungan JScript.