gpt4 book ai didi

javascript - 使用 ClearScript 将变量传递给 Javascript

转载 作者:行者123 更新时间:2023-11-30 12:03:46 25 4
gpt4 key购买 nike

我想在 C# 中运行 Javascript 并在 C# 和 Javascript 之间传递变量。

ClearScript 似乎是目前执行此操作的稳定方式。

我有一个看起来像这样的 JavaScript 函数:

var b = a[0];
var c = a[1];
var d = a[2];
var e = a[3];
rtnstr = "{errmsg: 'calculation never ran'}";

calculation()

function calculation() {
rtnstr = "{ one:'" + a+b "', " two:'" + c+d + "'}";
}

我如何在传递 a 数组并取回 rtnstr 字符串的 ClearScript 中调用它。

我找到了这个网址:https://clearscript.codeplex.com ,它显示了如何检索整数数组;我需要它来检索一个字符串。

我还需要知道如何传入变量;该示例并未显示这一点。

最佳答案

我不知道你是否还需要这个,但我偶然发现了你的问题并试了一下。

首先将一个 JS 文件添加到您的解决方案中:

Add a javascript file to your solution.

然后将您的 javascript 添加到 javascript 文件中:

var myArray = [0,1,2,3];
var a = myArray[0];
var b = myArray[1];
var c = myArray[2];
var d = myArray[3];
var rtnstr = "{errmsg: 'calculation never ran'}";

function calculation() {
var one = a + b;
var two = c + d;
rtnstr = "{ one:'" + one + "', two:'" + two + "'}";
return rtnstr;
}

然后在您的 C# 代码中执行如下操作:

using System;
using System.IO;
using Microsoft.ClearScript.V8;

namespace ClearScriptConsole
{
class Program
{
static void Main(string[] args) {

V8ScriptEngine _v8Engine = new V8ScriptEngine(V8ScriptEngineFlags.EnableDebugging);

string jsFilePath = @"..\..\HelloWorld.js";
string jsContents = File.ReadAllText(jsFilePath);

_v8Engine.Execute(jsContents);

var returnedVal = _v8Engine.Script.calculation();
Console.WriteLine(returnedVal);
}
}
}

返回值给了我以下信息:

The result of the calculation displayed in a console window.

干杯

关于javascript - 使用 ClearScript 将变量传递给 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com