-1

只是好奇,刚开始使用V8ScriptEngine,我有这个代码片段

private void button1_Click(object sender, EventArgs e)
        {
            string f = "function myFunc(x) {if(x >= 3500.00) return '001'; else return '002'; }";
            string r = "";
            using (var eng = new V8ScriptEngine()) {
                eng.Evaluate(f);
                r = (string)eng.Script.myFunc(3500.0000001);
            }
            Console.WriteLine("r={0}", r);
        }

这很好用..

脚本引擎如何推断脚本语言是 Javascript?,我想它必须评估整个脚本块来断言它是 java 还是 vb 或任何其他受支持的语言,这不是一项昂贵的任务吗?或者是否可以告诉 Scriptengine 语言目标具有特定的风格?

4

1 回答 1

0

V8 引擎只执行 Javascript 代码。因此,它假定传递给它的任何代码都是 Javascript。

如果其他脚本语言是指 TypeScript 或 CoffeeScript 之类的东西,它们不是由 V8 引擎直接执行的。它们需要首先编译为 Javascript(通常称为转译的过程)。此过程将生成等效于 TypeScript/CoffeeScript 源代码的 Javascript 代码。

于 2017-07-19T01:29:01.067 回答