iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C# 执行Javascript脚本的方法步骤
  • 653
分享到

C# 执行Javascript脚本的方法步骤

2024-04-02 19:04:59 653人浏览 泡泡鱼
摘要

前一阵子使用C#编写SCXML状态机,需要解析EMCScript表达式,使用了Jint库(https://GitHub.com/sebastienros/jint/),当时感觉与C#

前一阵子使用C#编写SCXML状态机,需要解析EMCScript表达式,使用了Jint库(https://GitHub.com/sebastienros/jint/),当时感觉与C#之间的数据转换不是很方便。这两天有时间又关注了一下,发现新的3.0版本有了很大改进,在这里介绍给大家,供参考。

首先要安装nuget包,注意增加prerelease选项,安装最新的版本,使用dotnet命令行指令如下:

dotnet add  package Jint --prerelease

直接计算表达式:

Console.WriteLine("直接计算表达式:(1+2)*3");
var r1= e.Evaluate("(1+2)*3");
Console.WriteLine(r1);

字符串操作:

Console.WriteLine("字符串操作:'abc'.length");
var r2=e.Evaluate("'abc'.length");
Console.WriteLine(r2);

Console.WriteLine("-----------------------");
Console.WriteLine("字符串操作:'abc'.substr(2)");
var r3=e.Evaluate("'abc'.substr(2)");
Console.WriteLine(r3);

可以使用SetValue给js变量赋值:

var e2 = new Engine()
    .SetValue("x", 1)
    .SetValue("y",2);
var r4=e2.Evaluate("x+y");
Console.WriteLine(r4);

可以使用对象进行C#和JS之间的数据交换:

var myobj= new Student {
    Name="张三"
};
Console.WriteLine(myobj.Name);
var e4 = new Engine()
    .SetValue("student", myobj)
    .Execute("student.Name = '李四'");
Console.WriteLine(myobj.Name);

可以将C#函数委托给JS引擎,在JS代码中调用这些函数:

Console.Write("将CSharp函数设置给Js引擎");
var engine = new Engine()
    .SetValue("log", new Action<object>(Console.WriteLine));
 engine.Execute(@"
    function hello() { 
        log('Hello World');
    };
 
    hello();
");

也可以从CSharp 调用JS的函数:

Console.WriteLine("调用JS函数计算BMI");
var e5=new Engine()
    .Execute("function bmi(weight, height) { return weight/height/height; }");
Console.WriteLine(e5.Invoke("bmi",75,1.75));

可以引入CLI,从而在JS引擎中调用CLI中的函数:

Console.WriteLine("调用.net函数写入文件");
var e6 = new Engine(cfg => cfg.AllowClr());
e6.Execute(@"var f=System.IO.StreamWriter('sayhello.log');
        f.WriteLine('你好 !');
        f.Dispose();");

示例可以从github下载:Https://github.com/zhenl/CSharpScriptDemo,本文示例在JSInCSharp项目中。

到此这篇关于C# 执行javascript脚本的方法步骤的文章就介绍到这了,更多相关C# 执行Javascript脚本内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C# 执行Javascript脚本的方法步骤

本文链接: https://www.lsjlt.com/news/161625.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C# 执行Javascript脚本的方法步骤
    前一阵子使用C#编写SCXML状态机,需要解析EMCScript表达式,使用了Jint库(https://github.com/sebastienros/jint/),当时感觉与C#...
    99+
    2024-04-02
  • SpringBoot启动时自动执行sql脚本的方法步骤
    需要配置项目下的yml文件: 在文件下加如如下配置: data: classpath:code-generator-data.sql initialization...
    99+
    2024-04-02
  • Windows自动执行python脚本操作步骤
    目录运行Python脚本:.bat文件python脚本bat运行经验定时在Windows中触发.bat文件上一篇自动在Windows中运行Python脚本并定时触发功能实现传送门链接...
    99+
    2024-04-02
  • jenkins执行python脚本的方法
    在jenkins上打算运行一段python脚本,查到一些常用的方法,下面会介绍。还遇到了版本兼容性问题导致的怎么都执行不成功,最终试了各种版本,定位到兼容性问题,真是各种坑。一般有三种方法:1.安装执行python的插件: Python ...
    99+
    2023-01-31
    脚本 方法 jenkins
  • 运行javascript脚本的方法
    这篇文章主要介绍了运行javascript脚本的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。运行javascript脚本的方法:首先新建文本文档,并打开文档输入js脚本...
    99+
    2023-06-14
  • shell脚本配置hostname的方法步骤
    目录1.Shell字符串拼接(连接、合并)2.shell产生随机数的方法2.1 通过内部系统变量($RANDOM)2.2 读取linux的uuid码2.3 使3.修改hostname1.Shell字符串拼接(连接、合并)...
    99+
    2023-03-23
    shell脚本配置hostname shell配置hostname
  • Tomcat安装shell脚本的方法步骤
    目录一、JAVA环境安装二、JAVA环境安装检测三、tomcat安装与启动四、tomcat启动检测五、脚本程序六、执行效果检验今天继续给大家介绍Linux运维相关知识,本文主要内容是...
    99+
    2024-04-02
  • python脚本执行的方法是什么
    Python脚本可以通过以下几种方法来执行:1. 在命令行中执行:可以直接在命令行中输入"python 脚本文件.py"来执行脚本文...
    99+
    2023-10-19
    python
  • redis执行lua脚本的实现方法
    目录1. 语法格式2.类型转换3.lua脚本3.1 script命令3.2 脚本原子性3.3 脚本缓存和EVALSHA3.4 全局变量保护3.5 日志记录从redis 2.6.0版本...
    99+
    2024-04-02
  • mysql执行sql脚本文件的方法
    小编给大家分享一下mysql执行sql脚本文件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql执行sql脚本文件的...
    99+
    2024-04-02
  • JavaScript异步操作同步执行的方法
    本文小编为大家详细介绍“JavaScript异步操作同步执行的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript异步操作同步执行的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2024-04-02
  • node中使用shell脚本的方法步骤
    背景 在开发中我们在特定的场合下可能需要一些脚本来批量处理我们的业务逻辑,在nodejs如何调用shell脚本呢? 新建 项目下新建脚本文件 touch newFile.sh...
    99+
    2024-04-02
  • c#动态执行脚本的方式有哪些
    这篇文章主要介绍“c#动态执行脚本的方式有哪些”,在日常操作中,相信很多人在c#动态执行脚本的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”c#动态执行脚本的方式有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Unity C#执行bat脚本的操作
    我们先封装一下接口,如下,把EdtUtil.cs放置在Assets/Editor目录中 // EdtUtil.cs using System; using UnityEdito...
    99+
    2024-04-02
  • shell脚本怎么异步并行执行
    在shell脚本中,可以使用以下几种方式来实现异步并行执行:1. 后台执行:在命令后面加上`&`,可以将命令放到后台执行。例如:``...
    99+
    2023-09-22
    shell
  • Django执行指定脚本的几种方法
    目录前言Django Shell自定义CommandDjango extensions总结前言 用Django写项目,遇到临时需要处理数据库的问题时,会考虑直接让脚本在项目环境中运行...
    99+
    2024-04-02
  • mysql命令行执行脚本的方法是什么
    在MySQL命令行中执行脚本的方法有以下几种: 使用source命令:在命令行中使用source命令加载并执行脚本文件。语法如下:...
    99+
    2024-04-09
    mysql
  • c#动态执行脚本的3种方式详解
    目录1.使用Roslyn编译器2.使用IronPython或IronRuby3.使用JavaScript引擎在C#中,可以使用一些第三方库或内置类库实现动态执行脚本的功能。以下是几个...
    99+
    2023-05-14
    c#动态执行脚本 c#动态执行
  • Linux中执行shell脚本的方法有哪些
    本篇内容介绍了“Linux中执行shell脚本的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!bash shell 脚本的方法有多...
    99+
    2023-06-09
  • 让Python脚本暂停执行的几种方法
    转自:让Python脚本暂停执行的几种方法  1.time.sleep(secs)      参考文档原文:   Suspend execution for the given number of seconds. The a...
    99+
    2023-01-31
    脚本 几种方法 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作