Друзья, которые знакомы с JavaScript, могут не быть незнакомы с функцией eval (). Мы можем использовать его для реализации выполнения динамического кода. Я даже написал веб -страницу, которая специально используется для расчета арифметических выражений. Способность расчета лучше, чем у калькуляторов Google и Baidu, по крайней мере, с более высокой точностью. Однако, если четыре операции превышают четыре операции, форма выражения будет очень сложной, например, пример, приведенный Baidu:
log ((5+5)^2) -3+PI должен быть написан как Math.log (Math.pow (5+5,2))*Math.Log10e-3+Math.pi, который будет использоваться для расчетов с оценкой. Я не думал о идеальном решении для этого. Хорошо, это не главная тема этой статьи, давайте просто отпустим ее.
Я видел, как люди используют следующий код в парке блога, по крайней мере, с точки зрения формы кода, это довольно просто:
// 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"); string express = "var result: int = 0; result == 1?/" успех/":/" не удалось/""; Microsoft.jscript.vsa.vsaengine ve = microsoft.jscript.vsa.vsaengine.createengine (); Console.writeline (microsoft.jscript.eval.jscriptevaluate (Expression, ve)); }}Тем не менее, неприятно, что компиляционная среда теперь дает следующее предупреждение: «Microsoft.jscript.vsa.vsaengine» устареет: «использование этого типа не рекомендуется, потому что он устанавливается в Visual Studio 2005; Для этой функции не будет замены. Пожалуйста, обратитесь к документации икодекомпилера для получения дополнительной помощи. Конечно, код может быть скомпилирован и выполнен нормально.
Ниже я дам другой метод для непосредственного использования функции Eval JavaScript. С помощью компонента COM эталонный путь - %SystemRoot %/System32/MSSCRICT.OCX, и я опубликую полный код напрямую.
Использование System; с использованием system.collections.generic; с использованием system.text; с использованием system.diagnostics; scriptprograming {class program {class {static void main (string [] args) {String strexpression = "1+2*3"; String strresult = eval (strexpression); Console.writeline (strexpression + "=" + strresult); Console.WriteLine («Нажмите любую клавишу, чтобы продолжить.»); Console.readkey (); } /// <summary> /// Справочный компонент COM Component Microsoft Script Control /// %SystemRoot %/System32/MSSCRICT.OCX /// Эта функция используется для динамического выполнения кода /// </summary> /// <param name = "Expression"> </param> /// <return> </returns> public Static String vescept (string expression) {string strres strres strres strres strres strres; try {msscriptControl.scriptControlClass jscript = new MSScriptControl.ScriptControlClass (); jscript.language = "jscript"; strresult = jscript.eval (выражение) .toString (); } catch (Exception ex) {debug.fail (ex.message); } return strresult; }}}Приведенное выше подробное объяснение примеров динамического выполнения кода (Eval of JS) - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.