很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

2026-03-30 15:171阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计611个文字,预计阅读时间需要3分钟。

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

(文章目录)前言 Jint 是适用于 .NET 的开源 Javascript 解释器,功能强大,它可以在任何现代 .NET 平台上运行,包括最新的 .NET 7。因为它支持 .NET Standard 2.0 和 .NET 4.6.2 以及更高版本。

(文章目录)


前言

Jint 是适用于 .NET 的 开源 Javascript 解释器,功能强大,它可以在任何现代 .NET 平台上运行,因为它支持 .NET Standard 2.0 和 .NET 4.6.2 以及更高版本),包括最新的 .NET 7。

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

因为 Jint 既不生成任何 .NET 字节码也不使用 DLR,所以在执行比较少的代码时,它的运行效率很快。

在 Nuget 包管理器中搜索并安装 Jint 即可,它没有其他的一些依赖。 Jint官网:github.com/sebastienros/jint#readme

一、.NET Core执行JavaScript

本例以.NET 7为例,因为.NET 7今天刚刚正式发布。

1.nuget安装Jint

2.Jint的相关操作

2.1 执行表达式

using Jint; var engine = new Jint.Engine(); var result = engine.Execute("1*2*3*4*5") .GetCompletionValue(); Console.WriteLine(result);

2.2 函数映射

using Jint; var engine = new Engine() .SetValue("log", new Action<object>(Console.WriteLine)); engine.Execute(@" function hello() { log('Hello World'); }; hello(); ");

2.3 类赋值

一个新的Person实例是从JavaScript赋值

2.4 函数执行

调用JavaScript函数引用

using Jint; //var add = new Engine() // .Execute("function add(a, b) { return a + b; }") // .GetValue("add"); //var result = add.Invoke(1, 2); // -> 3 var engine = new Engine(); var add = engine .Execute("function add(a, b) { return a + b; }") .GetValue("add"); var result = engine.Invoke("add", 1, 2); Console.WriteLine(result);

2.5 对象转换

using ConsoleTest; using HtmlAgilityPack; using Jint; using Newtonsoft.Json; var engine = new Engine(); var html = @"<script> var apiresult = { success: true, data: { userName: ""xxxxx"", jsonData: { ""Id"" : ""8342859"", ""Age"" : ""83"" } } }; </script>"; //创建html文档 var doc = new HtmlDocument(); doc.LoadHtml(html); //加载script脚本 var script = doc.DocumentNode.SelectNodes("//script").First().InnerHtml; //执行脚本 var result = engine .Execute(script) .Execute("var x=apiresult.data.jsonData;") .GetValue("x"); //返回json字符串 var jsonData =JsonConvert.DeserializeObject<Customer>(engine.Json.Stringify(result, new[] { result }).AsString()); Console.WriteLine(jsonData?.Id); Console.WriteLine(jsonData?.Age);

备注

记得下载github上最新版的,目前nuget只有2017的,更多高级用法可以参考源代码

本文共计611个文字,预计阅读时间需要3分钟。

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

(文章目录)前言 Jint 是适用于 .NET 的开源 Javascript 解释器,功能强大,它可以在任何现代 .NET 平台上运行,包括最新的 .NET 7。因为它支持 .NET Standard 2.0 和 .NET 4.6.2 以及更高版本。

(文章目录)


前言

Jint 是适用于 .NET 的 开源 Javascript 解释器,功能强大,它可以在任何现代 .NET 平台上运行,因为它支持 .NET Standard 2.0 和 .NET 4.6.2 以及更高版本),包括最新的 .NET 7。

很抱歉,您提供的信息不完整,我无法直接给出答案。请您提供更具体的问题或信息,这样我才能更好地帮助您。

因为 Jint 既不生成任何 .NET 字节码也不使用 DLR,所以在执行比较少的代码时,它的运行效率很快。

在 Nuget 包管理器中搜索并安装 Jint 即可,它没有其他的一些依赖。 Jint官网:github.com/sebastienros/jint#readme

一、.NET Core执行JavaScript

本例以.NET 7为例,因为.NET 7今天刚刚正式发布。

1.nuget安装Jint

2.Jint的相关操作

2.1 执行表达式

using Jint; var engine = new Jint.Engine(); var result = engine.Execute("1*2*3*4*5") .GetCompletionValue(); Console.WriteLine(result);

2.2 函数映射

using Jint; var engine = new Engine() .SetValue("log", new Action<object>(Console.WriteLine)); engine.Execute(@" function hello() { log('Hello World'); }; hello(); ");

2.3 类赋值

一个新的Person实例是从JavaScript赋值

2.4 函数执行

调用JavaScript函数引用

using Jint; //var add = new Engine() // .Execute("function add(a, b) { return a + b; }") // .GetValue("add"); //var result = add.Invoke(1, 2); // -> 3 var engine = new Engine(); var add = engine .Execute("function add(a, b) { return a + b; }") .GetValue("add"); var result = engine.Invoke("add", 1, 2); Console.WriteLine(result);

2.5 对象转换

using ConsoleTest; using HtmlAgilityPack; using Jint; using Newtonsoft.Json; var engine = new Engine(); var html = @"<script> var apiresult = { success: true, data: { userName: ""xxxxx"", jsonData: { ""Id"" : ""8342859"", ""Age"" : ""83"" } } }; </script>"; //创建html文档 var doc = new HtmlDocument(); doc.LoadHtml(html); //加载script脚本 var script = doc.DocumentNode.SelectNodes("//script").First().InnerHtml; //执行脚本 var result = engine .Execute(script) .Execute("var x=apiresult.data.jsonData;") .GetValue("x"); //返回json字符串 var jsonData =JsonConvert.DeserializeObject<Customer>(engine.Json.Stringify(result, new[] { result }).AsString()); Console.WriteLine(jsonData?.Id); Console.WriteLine(jsonData?.Age);

备注

记得下载github上最新版的,目前nuget只有2017的,更多高级用法可以参考源代码