前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点2个.Net版本的JavaScript执行引擎

盘点2个.Net版本的JavaScript执行引擎

作者头像
郑子铭
发布2024-04-29 16:05:09
950
发布2024-04-29 16:05:09
举报

推荐2个JavaScript开源引擎,方便在C#执行JavaScript脚本。

1、jurassic

Jurassic是一个开源的托管JavaScript执行引擎,使用MS-PL授权协议。它的目标是成为.NET平台上功能最强,最为标准的JavaScript引擎。

功能强大:支持ECMAScript 3和ECMAScript 5的功能,具备简单但强大的API,将JavaScript编译为.NET字节码(CIL),而非解释执行。这些功能使得Jurassic能够满足各种不同的编程需求;

代码语言:javascript
复制
var engine = new Jurassic.ScriptEngine();
//输出11
Console.WriteLine(engine.Evaluate("var a = 5; var b = 6; a + b;"));

engine.Evaluate("function add(a,b){return a+b;}");
var result = engine.CallGlobalFunction<int>("add", 5, 6); 
//输入11
Console.WriteLine(result);

开源地址:https://github.com/paulbartrum/jurassic

详细介绍:一个纯.Net开发的JavaScript执行引擎

2、Yantra

该项目支持多种JavaScript特性,包括ES5和ES6的许多功能,如箭头函数、类、类成员、增强的对象字面量、模板字符串、解构赋值、let和const声明、Map和Set等内置对象,以及二进制和八进制字面量。它还支持Async/Await异步编程模型、可选参数、尾调用优化等特性。

代码语言:javascript
复制
using YantraJS.Core;

var context = new JSContext();

//创建一个方法
context["add"] = new JSFunction((in Arguments a) => {
    return new JSNumber(
         (a[0]?.IntValue ?? 0) + (a[1]?.IntValue ?? 0)
    );
});

var result = context.Eval("add(4,5)", "script.js");

Console.Write(result);

开源地址:https://github.com/yantrajs/yantra

详细介绍:Yantra:一个基于.Net跨平台JavaScript开源引擎

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-28,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 DotNet NB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com