当前位置: 首页 > news >正文

一个纯.Net开发的JavaScript执行引擎

从零构建.Net前后端分离权限管理系统

推荐一个.Net开源库,用来解析和执行JavaScript代码。

01 项目简介

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

02 项目特点

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

**2、适用场景多:**可以作为.Net应用程序的一部分,适用于多种场景,比如:桌面应用、Web应用、游戏开发;

**3、纯.Net开发:**纯.Net开发,不依赖任何第三方库,可以完全集成到.Net框架中,可以在任何支持.Net平台执行;

**4、高性能:**使用轻量级代码生成技术,所有的动态代码均可被回收,使得具有高效的内存管理和高性能的运行速度;

5、集成Visual Studio调试功能:支持Visual Studio的调试功能,方便开发人员进行开发与调试。

03 使用示例

**1、示例1:**简单执行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);

**2、示例2:**C#中调用JavaScript函数

var engine = new Jurassic.ScriptEngine();
engine.SetGlobalFunction("test", new Func<int, int, int>((a, b) => a + b));
var result = engine.Evaluate<int>("test(5, 6)");
//输出11
Console.WriteLine(result);

3、示例3:加载JavaScript文件

var engine = new Jurassic.ScriptEngine();
engine.ExecuteFile(@"utils.js");
var result = engine.CallGlobalFunction<int>("add", 5, 6);
//输出11
Console.WriteLine(result);

utils.js代码

function add(a, b) {
    return a + b;
}

04 项目地址

https://github.com/paulbartrum/jurassic

- End -

推荐阅读

推荐一个.Ner Core开发的配置中心开源项目

一个跨平台执行外部命令的C#开源库

一个基于.Net高性能跨平台内网穿透工具

一个C#开发的Windows远程桌面工具

一个基于.Net Core开发的适合外贸商城系统

相关文章:

  • uniapp再次封装uni-nav-bar导航栏组件
  • 智能打气泵方案:无线充气泵的适用场景有哪些?
  • 备战蓝桥day-7(递归回溯)
  • PP-PLL:基于概率传播的部分标签学习
  • Python第六章13:集合(set)的定义和操作
  • 【euclid】21 3D包围盒模块(box3d.rs)
  • 【Python Cookbook】字符串和文本(二)
  • 【鸿蒙开发】第五十一章 Camera Kit(相机服务)
  • pagehelper 分页插件使用说明
  • 程序化广告行业(33/89):深入了解OTT、OTV及多样广告形式
  • 文字也能生成视频?【蓝耘实践】:通义万相2.1文生视频
  • SPPAS安装及问题汇总
  • 生成对抗网络(GAN)模型的详细介绍
  • 数据结构与算法-图论-强连通分量(tarjan算法)
  • 开个坑记录一下树莓派4B部署yolo的一些问题
  • C++手撕共享指针、多线程交替、LRU缓存
  • 6.milvus搜索search
  • 程序化广告行业(31/89):人群分类与广告投放策略全解析
  • 搜广推校招面经五十八
  • CAN基础知识学习二
  • 樟树网站开发/seo基本概念
  • 如何建设一个普通网页网站/网络营销和推广做什么
  • 洛可可设计公司简介/网站seo是什么意思
  • 顺义网站开发/网站ip查询站长工具
  • 做爰在线观看网站/深圳网络营销推广招聘网
  • 徐州seo网站推广/江苏关键词推广seo