我尝试通过简单的表达式使用 JInt(.NET 的 Javascript 解释器):
var engineTest = new Engine ()
.SetValue ("X", 10.1)
.SetValue ("Y", 20.5)
.SetValue ("Code", "A");
var dFormula = @"if (Code === 'A'){X+Y;} if (Code === 'B'){Y-X;}";
var result = engineTest.Execute(dFormula).GetCompletionValue();
对于这个公式结果将是“ undefined
”。如果我dFormula
改为
var dFormula = @"if (Code === 'A'){X+Y;}";
或者
var dFormula = @"if (Code === 'A'){X+Y;} else if (Code === 'B'){Y-X;}";
结果将是正确的。JInt (2.5.0) 有什么问题。或者它可能不支持公式中的多个语句?我试图用“ {}
”括号包裹公式,但没有结果。