Teman -teman yang akrab dengan JavaScript mungkin tidak tidak terbiasa dengan fungsi eval (). Kami dapat menggunakannya untuk mengimplementasikan pelaksanaan kode dinamis. Saya bahkan menulis halaman web yang secara khusus digunakan untuk menghitung ekspresi aritmatika. Kemampuan perhitungan lebih baik daripada kalkulator Google dan Baidu, setidaknya dengan akurasi yang lebih tinggi. Namun, jika keempat operasi melebihi empat operasi, bentuk ekspresi akan sangat rumit, seperti contoh yang diberikan oleh Baidu:
Log ((5+5)^2) -3+Pi perlu ditulis sebagai math.log (Math.pow (5+5,2))*Math.log10e-3+Math.pi yang akan digunakan untuk perhitungan dengan eval. Saya belum memikirkan solusi ideal untuk ini. Oke, ini bukan topik utama artikel ini, mari kita lepaskan saja.
Saya telah melihat orang menggunakan kode berikut di taman blog, setidaknya dalam hal bentuk kode, ini cukup sederhana:
// csc.exe noname1.cs /r:c:/windows/microsoft.net/framework/v1.1.4322/microsoft.jscript.dll // Catatan: Dua nama nama dari microsoft.jscript dan microsoft.vsa perlu ditambahkan. kelas publik class1 {static void main (string [] args) {System.console.writeLine ("Hello World"); String Expression = "Var Rain: int = 0; hasil == 1?/" Sukses/":/" Gagal/""; Microsoft.jscript.vsa.vsaengine ve = microsoft.jscript.vsa.vsaengine.createEngine (); Console.writeLine (microsoft.jscript.eval.jscriptevaluate (ekspresi, ve)); }}Namun, tidak menyenangkan bahwa lingkungan kompilasi sekarang memberikan peringatan berikut: 'microsoft.jscript.vsa.vsaengine' sudah usang: 'Penggunaan jenis ini tidak dianjurkan karena sedang digunakan di Visual Studio 2005; Tidak akan ada penggantian untuk fitur ini. Silakan lihat dokumentasi icodecompiler untuk bantuan tambahan. ' Tentu saja, kode dapat dikompilasi dan dieksekusi secara normal.
Di bawah ini saya akan memberikan metode lain untuk secara langsung menggunakan fungsi eval JavaScript. Dengan bantuan komponen COM, jalur referensi adalah %Systemroot %/system32/msscript.ocx, dan saya akan memposting kode lengkap secara langsung.
menggunakan System; menggunakan System.Collections.Generic; menggunakan System.Text; menggunakan System.Diagnostics; namespace ScriptProgramming {Program kelas {static void main (string [] args) {string strexpression = "1+2*3"; string strResult = eval (strexpression); Console.WriteLine (Strexpression + "=" + Strresult); Console.WriteLine ("Tekan tombol apa pun untuk melanjutkan."); Console.readkey (); } /// <summary> /// referensi com komponen microsoft script control /// %Systemroot %/System32/msscript.ocx /// Fungsi ini digunakan untuk mengeksekusi kode secara dinamis /// </summary> // <param name = "ekspresi"> </param> // <returns> </reviews> public static evaluasi (string public string evaluasi (string) {return; coba {msscriptControl.scriptControlclass jscript = msscriptControl.scriptControlClass () baru; jscript.ibanguage = "jscript"; strResult = jscript.eval (ekspresi) .toString (); } catch (Exception ex) {debug.fail (ex.message); } return Strresult; }}}Penjelasan terperinci di atas tentang contoh Eksekusi Kode Dinamis (Eval JS) adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.