Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam C#?

Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam C#?

Linda Hamilton
Lepaskan: 2024-12-31 05:33:09
asal
689 orang telah melayarinya

How to Parse and Execute JavaScript Code within C#?

Cara menghuraikan dan melaksanakan JS dalam C#

Kod C# yang disediakan termasuk kelas, ScriptEngine, yang berfungsi sebagai pembungkus di sekitar Windows Komponen COM Enjin Skrip. Ia memudahkan kedua-dua persekitaran 32-bit dan 64-bit serta membolehkan anda menghuraikan dan melaksanakan kod JavaScript.

Sampel kod menawarkan pelbagai cara untuk berinteraksi dengan enjin skrip:

Terus penilaian ungkapan:

Console.WriteLine(ScriptEngine.Eval("jscript", "1+2/3"));
Salin selepas log masuk

Ini menilai ungkapan JavaScript yang diberikan dan mencetak hasilnya (1.66666666666667).

Panggilan fungsi, dengan argumen pilihan:

using (ScriptEngine engine = new ScriptEngine("jscript"))
{
  ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x}");
  Console.WriteLine(parsed.CallMethod("MyFunc", 3));
}
Salin selepas log masuk

Ini mentakrifkan fungsi JavaScript, menghuraikannya dan memanggil fungsi dengan argumen 3, mencetak keputusan (6).

Panggilan fungsi dengan bernama item dan hujah pilihan:

using (ScriptEngine engine = new ScriptEngine("jscript"))
{
    ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x+My.Num}");
    MyItem item = new MyItem();
    item.Num = 4;
    engine.SetNamedItem("My", item);
    Console.WriteLine(parsed.CallMethod("MyFunc", 3));
}

[ComVisible(true)] // Script engines are COM components.
public class MyItem
{
    public int Num { get; set; }
}
Salin selepas log masuk

Contoh ini menunjukkan penggunaan item bernama, yang membolehkan meniru/melaksanakan elemen DOM HTML. Ia menetapkan item bernama "Saya" dengan sifat "Num" ditetapkan kepada 4 dan memanggil fungsi dengan hujah 3, mencetak hasil (10).

Sampel juga menunjukkan cara menggunakan CLSID sebaliknya nama bahasa skrip untuk memanfaatkan enjin JavaScript "chakra" IE9 yang pantas:

using (ScriptEngine engine = new ScriptEngine("{16d51579-a30b-4c8b-a276-0ff4dc41e755}"))
{
    // continue with chakra now
}
Salin selepas log masuk

Kod sumber penuh untuk kelas ScriptEngine dan penggunaan sampel disediakan untuk rujukan. Ia termasuk ciri tambahan seperti:

  • Pendapatan dan tetapan harta
  • Pengendalian pengecualian skrip
  • Menambahkan item peringkat akar yang dinamakan pada ruang nama enjin skrip

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan