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
621 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!

sumber:php.cn
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