问题标签 [jint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
560 浏览

javascript - Jint+JSfuck - '索引超出了数组的范围'

我正在尝试在 jint 中运行以下代码:

其中,当未转义时,正在执行以下 javascript:

data变量对应一个 JSfuck 字符串,类似于:https ://pastebin.com/vmGAebW5

问题是我总是得到一个“索引超出数组范围”异常,即使 javascript 在浏览器中运行时工作正常。关于导致问题的任何想法?

0 投票
1 回答
148 浏览

javascript - 如何判断我的 Javascript 代码是否在 Jint 中运行?

我设计了一些调用alert() 和confirm() 的函数。

我使用 Jint 来测试这些功能。

但是,Jint 不支持 alert() 和 confirm()。

我想做的是围绕 alert() 和 confirm() 创建一个包装器,它检查是否在 Jint 上下文中运行:

我如何判断我是否在 Jint 上下文中?

谢谢,埃德

0 投票
1 回答
1217 浏览

c# - Jint 数组函数 ECMA 5.1

我正在尝试使用 Jint (v2.10.4.0) 将一种任意 JSON 结构转换为另一种。但是,我在使用map时遇到问题。

根据 ECMA 5.1 语言规范,map应该存在于 Array.prototye 上。但是,当我尝试使用它时,出现错误:Jint.Runtime.JavaScriptException: 'Object has no method 'map''

我正在测试这个

理想情况下,我也想使用 find,虽然这是 ECMA6。我是否缺少使用 Array.Prototype.map 的东西,或者有没有办法为 Jint 引入 polyfill?

0 投票
1 回答
842 浏览

javascript - 使用 jint 评估 javascript 对象

我正在使用 jint 来解析 javascript 代码,以下 js 代码有效:

  • 1
  • [1]
  • {}

但是这个失败了:

{ a: 1}

出现此错误:

int.Parser.ParserException: Line 1: Unexpected token : at Jint.Parser.JavaScriptParser.ThrowError(Token token, String messageFormat, Object[] arguments) at Jint.Parser.JavaScriptParser.ThrowUnexpected(Token token) at Jint.Parser.JavaScriptParser.ConsumeSemicolon() at Jint.Parser.JavaScriptParser.ParseStatement() at Jint.Parser.JavaScriptParser.ParseStatement() at Jint.Parser.JavaScriptParser.ParseSourceElement() at Jint.Parser.JavaScriptParser.ParseStatementList() at Jint.Parser.JavaScriptParser.ParseBlock() at Jint.Parser.JavaScriptParser.ParseStatement() at Jint.Parser.JavaScriptParser.ParseSourceElement() at Jint.Parser.JavaScriptParser.ParseSourceElements() at Jint.Parser.JavaScriptParser.ParseProgram() at Jint.Parser.JavaScriptParser.Parse(String code, ParserOptions options) at Jint.Engine.Execute(String source)

我不想反序列化 JSON 文件,我想执行一个 javascript 对象,我想要类似的东西:

我注意到如果我这样做:

然后它可以工作,但我需要它在我的场景中成为一个 javascript 对象。

有没有办法做到这一点?

0 投票
0 回答
274 浏览

javascript - JINT 是否支持 128 位浮点,例如 C# System.Decimal?如果是这样,怎么做?

Jint 是 .NET 的 Javascript 解释器。它将 JavaScript 值转换为 CLR 对象,如下所示。https://github.com/sebastienros/jint/blob/master/README.md

JINT 将 JavaScript 值转换为 CLR 对象

对象 -> 扩展对象(IDictionary 和动态)
数组 -> 对象 []
日期 -> 日期时间
数字 -> 双
字符串 -> 字符串
布尔值 -> 布尔
正则表达式 -> 正则表达式
函数 -> 委托

似乎 JavaScript 一般只支持 64 点浮点数,不支持其他数字类型。https://www.w3schools.com/js/js_numbers.asp这意味着可能需要一些函数/库来确保在处理过程中需要固定精度的数字的一致处理。

我的问题是 JINT 是否支持 128 位浮点计算。我们需要在 System.Decimal 中保留数字。假设我传入两位小数作为参数来计算总和或乘积。有没有办法在 JINT 中做到这一点而不会失去精度?

如果 JINT 没有开箱即用的支持,是否有任何解决方法?

感谢您的回答!

0 投票
1 回答
1279 浏览

jint - 在已解析的 Jint 程序中调用函数

我使用 Jint 来解析 JS 代码并在其中调用函数。当我使用多线程环境时,我使用了对这个问题的响应中指出的程序解析方法:https ://github.com/sebastienros/jint/issues/384

所以我有一个Jint.Parser.Ast.Program例子。我可以遍历其中的IFunctionDeclarations 并找到我的函数。但我不知道如何实际调用这些函数......

我只找到了一种方法来执行整个Program. 我假设我必须这样做,以便这些功能实际上是在引擎中定义的。但是,我怎样才能在我的脚本中调用某个函数?

0 投票
1 回答
733 浏览

javascript - 如何在 C# 的 Jint 中找到我的 javascript 函数?

我在下面写了代码

但 Jint 显示错误

谁能帮助我如何注册外部 js 库,如 beautify.js,然后在 Jint 中调用它们的函数?

0 投票
3 回答
2133 浏览

javascript - 如何在 Jint 中枚举字典<>

我有一个 .NET 通用字典<>,我想将它传递给我在 Jint 中运行的 JavaScript 函数。

Jint 不会将 .NET Dictionary 视为 JavaScript 对象,而 JavaScript 对象可被视为字典。您可以访问对象的 .NET 属性和方法,但不能访问扩展方法。

因此,虽然我可以获得字典键的计数,但我无法枚举它或在其上调用 ToArray()。

我可以使用 dict[key] 从 Dictionary 中读取值,但在这种情况下,我事先并不知道键。

如何枚举键或获取 .NET 通用字典中的所有条目?

我愿意对字典做一些事情或在将它传递给它或弄清楚如何在 JavaScript 中做它之前对其进行转换。我宁愿不必单独传递一个键数组。这是在另一个数据结构中,对每个字典都这样做会使它更复杂,但如果我找不到另一个解决方案,这是我正在考虑的选项之一。

我宁愿远离使用动态。在过去大量使用它们时,我遇到了泄漏内存的问题。

0 投票
1 回答
687 浏览

c# - 从列表中读取值在金特

首先是一个一般性问题:是否有关于 jint 的文档?除了github页面上的示例之外,我找不到任何东西。

我正在尝试在 Jint 中做类似下面的示例。但是,我在读取值时遇到了麻烦。

0 投票
1 回答
526 浏览

c# - 通过 JInt 检查有效的 jQuery 代码时出现“文档未定义”错误?

是否可以检查 JQuery 字符串是否具有有效的语法?因为这个,我尝试了 Jint确定字符串是否包含有效的 javascript 代码。不幸的是,这似乎是为了另一个用例。

我尝试了以下方法(导致“文档未定义”):