JavaScript에 익숙한 친구는 Eval () 함수에 익숙하지 않을 수 있습니다. 동적 코드의 실행을 구현하는 데 사용할 수 있습니다. 산술 표현식을 계산하는 데 특별히 사용되는 웹 페이지를 썼습니다. 계산 능력은 적어도 정확도가 높은 Google 및 Baidu 계산기의 계산 능력보다 낫습니다. 그러나 4 개의 작업이 4 개의 작업을 초과하면 Baidu가 제공 한 예와 같이 표현식 형태가 매우 복잡해집니다.
log ((5+5)^2) -3+pi는 math.log (math.pow (5+5,2))로 작성해야합니다. 나는 이것에 대한 이상적인 해결책을 생각하지 않았다. 좋아, 이것은이 기사의 주요 주제가 아닙니다. 그냥 놓아 봅시다.
사람들이 블로그 파크에서 다음 코드를 사용하는 것을 보았습니다. 적어도 코드 양식에서는 매우 간단합니다.
// csc.exe noname1.cs /r:c:/windows/microsoft.net/framework/v1.1.4322/microsoft.jscript.dll // 참고 : Microsoft.jscript 및 Microsoft.vsa의 두 가지 네임 스페이스가 추가되어야합니다. public class class1 {static void main (String [] args) {System.Console.WriteLine ( "Hello World"); 문자열 expression = "var result : int = 0; result == 1?/"success/":/"실패/""; Microsoft.jscript.vsa.vsaengine ve = microsoft.jscript.vsa.vsaengine.createengine (); console.writeline (microsoft.jscript.eval.jscriptevaluate (expression, ve)); }}그러나 컴파일 환경이 이제 다음과 같은 경고를 제공한다는 것은 불쾌합니다. 이 기능을 대체 할 수 없습니다. 추가 도움은 iCodecompiler 문서를 참조하십시오. ' 물론 코드는 정상적으로 컴파일되고 실행될 수 있습니다.
아래는 JavaScript의 Eval 기능을 직접 사용하는 다른 방법을 제공합니다. COM 구성 요소의 도움으로 참조 경로는 %SystemRoot %/system32/msscript.ocx이며 전체 코드를 직접 게시합니다.
System.Collections.generic 사용; System.Text 사용; System.Diagnostics 사용; 네임 스페이스 스크립트 프로그램 {Class 프로그램 {static void main (String [] args) {String strexpression = "1+2*3"; 문자열 strresult = eval (strexpression); console.writeLine (strexpression + "=" + strresult); Console.WriteLine ( "계속하려면 키를 누르십시오"); Console.readkey (); } /// <summary> /// 참조 com 구성 요소 Microsoft 스크립트 제어 /// %systemRoot %/system32/msscript.ocx ///이 함수는 코드를 동적으로 실행하는 데 사용됩니다 /// </summary> // <param name = "expression"> </param> // <returns> </returns> public string (string strest) {string strresult; {msscriptControl.scriptControlClass jscript = new MsScriptControl.scriptControlClass (); jscript.language = "jscript"; strresult = jscript.eval (expression) .toString (); } catch (Exception Ex) {debug.fail (예 : Message); } return strresult; }}}동적 코드 실행 (JS의 평가)에 대한 위의 자세한 설명은 내가 공유하는 모든 내용입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.