Les amis qui connaissent JavaScript peuvent ne pas être familiers avec la fonction EVAL (). Nous pouvons l'utiliser pour implémenter l'exécution du code dynamique. J'ai même écrit une page Web spécialement utilisée pour calculer les expressions arithmétiques. La capacité de calcul est meilleure que celle des calculatrices Google et Baidu, du moins avec une précision plus élevée. Cependant, si les quatre opérations dépassent les quatre opérations, la forme de l'expression sera très compliquée, comme l'exemple donné par Baidu:
Log ((5 + 5) ^ 2) -3 + Pi doit être écrit comme math.log (math.pow (5 + 5,2)) * math.log10e-3 + math.pi à utiliser pour les calculs avec ev. Je n'ai pas pensé à une solution idéale pour cela. OK, ce n'est pas le sujet principal de cet article, laissons simplement partir.
J'ai vu des gens utiliser le code suivant dans le parc du blog, du moins en termes de formulaire de code, c'est assez simple:
// csc.exe noname1.cs /r:c:/windows/microsoft.net/framework/v1.1.4322/microsoft.jscript.dll // Remarque: Deux espaces de noms de Microsoft.jscript et Microsoft.vsa doivent être ajoutés. classe publique classe 1 {static void main (String [] args) {System.Console.WriteLine ("Hello World"); Expression de chaîne = "Var Result: int = 0; result == 1? /" Success / ": /" Faiched / ""; Microsoft.jscript.vsa.vsaEngine VE = Microsoft.jscript.vsa.vsaEngine.createenGine (); Console.writeline (Microsoft.jscript.eval.jScriptEValuate (expression, ve)); }}Cependant, il est désagréable que l'environnement de compilation donne désormais l'avertissement suivant: «Microsoft.jscript.vsa.vsaEngine» est obsolète: «L'utilisation de ce type n'est pas recommandée car elle est dépréciée dans Visual Studio 2005; Il n'y aura pas de remplacement pour cette fonctionnalité. Veuillez consulter la documentation ICodeCompiler pour une aide supplémentaire. Bien sûr, le code peut être compilé et exécuté normalement.
Ci-dessous, je donnerai une autre méthode pour utiliser directement la fonction EVAL de JavaScript. À l'aide du composant COM, le chemin de référence est% systemroot% / system32 / msscript.ocx, et je publierai directement le code complet.
Utilisation du système; Utilisation de System.Collections.Generic; Utilisation de System.Text; Utilisation de System.Diagnostics; Namespace ScriptProgramming {Class Program {static void main (String [] args) {String strexpression = "1 + 2 * 3"; String strResult = eval (strexpression); Console.writeline (strexpression + "=" + strresult); Console.WriteLine ("Appuyez sur n'importe quelle touche pour continuer."); Console.readKey (); } /// <summary> /// Reference Com composant Microsoft Script Control ///% systemRoot% / System32 / msscript.ocx /// Cette fonction est utilisée pour exécuter le code dynamiquement /// </summary> /// <param name = "Expression"> </ paramm> /// <retourne> </preminds> public stating string evaled (String Expression) {String Sttrresult = Null; try {msscriptControl.scriptControlClass jscript = new MSScriptControl.scriptControlClass (); jscript.language = "jscript"; strResult = jscript.eval (expression) .toString (); } catch (exception ex) {debug.fail (ex.Message); } return strresult; }}}L'explication détaillée ci-dessus de l'exécution de code dynamique (EVAL of JS) est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.