C#에서 JS를 구문 분석하고 실행하려면 제공된 코드 조각을 사용하면 됩니다. 이는 Windows 스크립트 엔진을 래핑하고 32비트 및 64비트 환경을 지원합니다. 특정 경우에는 .JS 코드에 따라 일부 HTML DOM 요소(MyItem 클래스와 함께 '명명된 항목' 기능 사용)를 에뮬레이트/구현해야 할 수도 있습니다. 이것이 바로 Internet Explorer의 기능입니다.
다음은 Internet Explorer로 수행할 수 있는 작업의 몇 가지 예입니다.
1) 직접 표현 평가:
Console.WriteLine(ScriptEngine.Eval("jscript", "1+2/3"));
1.66666666666667을 표시합니다.
2) 선택적 함수 호출 인수:
using (ScriptEngine engine = new ScriptEngine("jscript")) { ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x}"); Console.WriteLine(parsed.CallMethod("MyFunc", 3)); }
6이 표시됩니다.
3) 명명된 항목과 선택적 인수가 포함된 함수 호출:
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; } }
10이 표시됩니다.
편집: 스크립트 언어 대신 CLSID를 사용할 수 있는 기능을 추가했습니다. 이름을 사용하여 다음과 같이 새롭고 빠른 IE9 "chakra" 자바스크립트 엔진을 재사용할 수 있습니다.
using (ScriptEngine engine = new ScriptEngine("{16d51579-a30b-4c8b-a276-0ff4dc41e755}")) { // continue with chakra now }
위 내용은 C# 애플리케이션 내에서 JavaScript 코드를 어떻게 구문 분석하고 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!